{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "b7f187ee",
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys\n",
    "import io\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score\n",
    "from sklearn.metrics import classification_report\n",
    "from sklearn.preprocessing import MinMaxScaler, StandardScaler,LabelEncoder\n",
    "from sklearn.decomposition import PCA\n",
    "import sqlite3\n",
    "from prophet import Prophet\n",
    "from prophet.plot import add_changepoints_to_plot\n",
    "import datetime as dt\n",
    "from sklearn import linear_model\n",
    "import xgboost as xgb\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from imblearn.over_sampling import SMOTE\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import logging\n",
    "import warnings\n",
    "import json\n",
    "%matplotlib inline\n",
    "warnings.filterwarnings('ignore')\n",
    "pd.set_option('display.max_rows', None)\n",
    "pd.set_option('display.max_columns', 500)\n",
    "pd.set_option('display.width', 1000)\n",
    "logger = logging.getLogger()\n",
    "logger.setLevel(logging.CRITICAL)\n",
    "import openai\n",
    "import pandas as pd\n",
    "import sqlite3\n",
    "from openai.api_resources.completion import Completion"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "0a477dd8",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Connect to the sqlite db file and retrieve data as Pandas data frame.\n",
    "cnx = sqlite3.connect('FPA_FOD_20170508.sqlite')\n",
    "sql = \"select * from fires\"\n",
    "# df = pd.read_sql_query(sql, cnx)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "1c65cea2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"Index(['OBJECTID', 'FOD_ID', 'FPA_ID', 'SOURCE_SYSTEM_TYPE', 'SOURCE_SYSTEM', 'NWCG_REPORTING_AGENCY', 'NWCG_REPORTING_UNIT_ID', 'NWCG_REPORTING_UNIT_NAME', 'SOURCE_REPORTING_UNIT', 'SOURCE_REPORTING_UNIT_NAME', 'LOCAL_FIRE_REPORT_ID', 'LOCAL_INCIDENT_ID', 'FIRE_CODE', 'FIRE_NAME', 'ICS_209_INCIDENT_NUMBER', 'ICS_209_NAME', 'MTBS_ID', 'MTBS_FIRE_NAME', 'COMPLEX_NAME', 'FIRE_YEAR', 'DISCOVERY_DATE', 'DISCOVERY_DOY', 'DISCOVERY_TIME', 'STAT_CAUSE_CODE', 'STAT_CAUSE_DESCR', 'CONT_DATE', 'CONT_DOY', 'CONT_TIME', 'FIRE_SIZE', 'FIRE_SIZE_CLASS', 'LATITUDE', 'LONGITUDE', 'OWNER_CODE', 'OWNER_DESCR', 'STATE', 'COUNTY', 'FIPS_CODE', 'FIPS_NAME', 'Shape'], dtype='object')\""
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_sql_query(sql, cnx)\n",
    "df.head()\n",
    "str(df.columns)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "ad2c379b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "FIRE_YEAR                0\n",
       "DISCOVERY_DOY            0\n",
       "DISCOVERY_TIME      882638\n",
       "CONT_DOY            891531\n",
       "CONT_TIME           972173\n",
       "STAT_CAUSE_CODE          0\n",
       "STAT_CAUSE_DESCR         0\n",
       "FIRE_SIZE                0\n",
       "LATITUDE                 0\n",
       "LONGITUDE                0\n",
       "STATE                    0\n",
       "COUNTY              678148\n",
       "FIPS_NAME           678148\n",
       "DISCOVERY_DATE           0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_interest = df[[\"FIRE_YEAR\",\"DISCOVERY_DOY\",\"DISCOVERY_TIME\",\"CONT_DOY\",\"CONT_TIME\",\"STAT_CAUSE_CODE\",\"STAT_CAUSE_DESCR\",\"FIRE_SIZE\",\"LATITUDE\",\"LONGITUDE\",\"STATE\",\"COUNTY\",\"FIPS_NAME\",\"DISCOVERY_DATE\"]]\n",
    "df_interest.isna().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "8016bd7c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of removed duplicate rows: 3525\n"
     ]
    }
   ],
   "source": [
    "print(f\"Number of removed duplicate rows: {df_interest.duplicated().sum()}\")\n",
    "df_interest = df_interest.drop_duplicates()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "9d5988b8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>FIRE_YEAR</th>\n",
       "      <th>DISCOVERY_DOY</th>\n",
       "      <th>DISCOVERY_TIME</th>\n",
       "      <th>CONT_DOY</th>\n",
       "      <th>CONT_TIME</th>\n",
       "      <th>STAT_CAUSE_CODE</th>\n",
       "      <th>STAT_CAUSE_DESCR</th>\n",
       "      <th>FIRE_SIZE</th>\n",
       "      <th>LATITUDE</th>\n",
       "      <th>LONGITUDE</th>\n",
       "      <th>STATE</th>\n",
       "      <th>COUNTY</th>\n",
       "      <th>FIPS_NAME</th>\n",
       "      <th>DISCOVERY_DATE</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>combined_date_dis</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2005-02-02</th>\n",
       "      <td>2005</td>\n",
       "      <td>33</td>\n",
       "      <td>1300</td>\n",
       "      <td>33.0</td>\n",
       "      <td>1730</td>\n",
       "      <td>9.0</td>\n",
       "      <td>Miscellaneous</td>\n",
       "      <td>0.10</td>\n",
       "      <td>40.036944</td>\n",
       "      <td>-121.005833</td>\n",
       "      <td>CA</td>\n",
       "      <td>63</td>\n",
       "      <td>Plumas</td>\n",
       "      <td>2453403.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-05-12</th>\n",
       "      <td>2004</td>\n",
       "      <td>133</td>\n",
       "      <td>0845</td>\n",
       "      <td>133.0</td>\n",
       "      <td>1530</td>\n",
       "      <td>1.0</td>\n",
       "      <td>Lightning</td>\n",
       "      <td>0.25</td>\n",
       "      <td>38.933056</td>\n",
       "      <td>-120.404444</td>\n",
       "      <td>CA</td>\n",
       "      <td>61</td>\n",
       "      <td>Placer</td>\n",
       "      <td>2453137.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-05-31</th>\n",
       "      <td>2004</td>\n",
       "      <td>152</td>\n",
       "      <td>1921</td>\n",
       "      <td>152.0</td>\n",
       "      <td>2024</td>\n",
       "      <td>5.0</td>\n",
       "      <td>Debris Burning</td>\n",
       "      <td>0.10</td>\n",
       "      <td>38.984167</td>\n",
       "      <td>-120.735556</td>\n",
       "      <td>CA</td>\n",
       "      <td>17</td>\n",
       "      <td>El Dorado</td>\n",
       "      <td>2453156.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-06-28</th>\n",
       "      <td>2004</td>\n",
       "      <td>180</td>\n",
       "      <td>1600</td>\n",
       "      <td>185.0</td>\n",
       "      <td>1400</td>\n",
       "      <td>1.0</td>\n",
       "      <td>Lightning</td>\n",
       "      <td>0.10</td>\n",
       "      <td>38.559167</td>\n",
       "      <td>-119.913333</td>\n",
       "      <td>CA</td>\n",
       "      <td>3</td>\n",
       "      <td>Alpine</td>\n",
       "      <td>2453184.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-06-28</th>\n",
       "      <td>2004</td>\n",
       "      <td>180</td>\n",
       "      <td>1600</td>\n",
       "      <td>185.0</td>\n",
       "      <td>1200</td>\n",
       "      <td>1.0</td>\n",
       "      <td>Lightning</td>\n",
       "      <td>0.10</td>\n",
       "      <td>38.559167</td>\n",
       "      <td>-119.933056</td>\n",
       "      <td>CA</td>\n",
       "      <td>3</td>\n",
       "      <td>Alpine</td>\n",
       "      <td>2453184.5</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   FIRE_YEAR  DISCOVERY_DOY DISCOVERY_TIME  CONT_DOY CONT_TIME  STAT_CAUSE_CODE STAT_CAUSE_DESCR  FIRE_SIZE   LATITUDE   LONGITUDE STATE COUNTY  FIPS_NAME  DISCOVERY_DATE\n",
       "combined_date_dis                                                                                                                                                                         \n",
       "2005-02-02              2005             33           1300      33.0      1730              9.0    Miscellaneous       0.10  40.036944 -121.005833    CA     63     Plumas       2453403.5\n",
       "2004-05-12              2004            133           0845     133.0      1530              1.0        Lightning       0.25  38.933056 -120.404444    CA     61     Placer       2453137.5\n",
       "2004-05-31              2004            152           1921     152.0      2024              5.0   Debris Burning       0.10  38.984167 -120.735556    CA     17  El Dorado       2453156.5\n",
       "2004-06-28              2004            180           1600     185.0      1400              1.0        Lightning       0.10  38.559167 -119.913333    CA      3     Alpine       2453184.5\n",
       "2004-06-28              2004            180           1600     185.0      1200              1.0        Lightning       0.10  38.559167 -119.933056    CA      3     Alpine       2453184.5"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_interest[\"combined_date_dis\"] = df_interest[\"FIRE_YEAR\"]*1000 + df_interest[\"DISCOVERY_DOY\"]\n",
    "df_interest[\"combined_date_dis\"] = pd.to_datetime(df_interest[\"combined_date_dis\"], format = \"%Y%j\")\n",
    "df_interest = df_interest.set_index(\"combined_date_dis\")\n",
    "df_interest.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "ede1b656",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = df_interest"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "360f6ee9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['FIRE_YEAR', 'DISCOVERY_DOY', 'DISCOVERY_TIME', 'CONT_DOY', 'CONT_TIME', 'STAT_CAUSE_CODE', 'STAT_CAUSE_DESCR', 'FIRE_SIZE', 'LATITUDE', 'LONGITUDE', 'STATE', 'COUNTY', 'FIPS_NAME', 'DISCOVERY_DATE'], dtype='object')"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "717cdcf3",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "# Set up OpenAI API key\n",
    "openai.api_key = 'xxxxxxxxxxxxxxxxxxxxxx'\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "13f9a3a9",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "4d4a23ae",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Connect to the SQLite database\n",
    "# conn = sqlite3.connect('FPA_FOD_20170508.sqlite')\n",
    "# cursor = conn.cursor()\n",
    "# sql = \"select * from fires\"\n",
    "# df = pd.read_sql_query(sql, conn)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "c8d87b15",
   "metadata": {},
   "outputs": [],
   "source": [
    "f = open(\"columns.txt\", \"r\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "a417134c",
   "metadata": {},
   "outputs": [],
   "source": [
    "col_txt = f.read()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "19cda6d8",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "def query_database(sql_query):\n",
    "    \"\"\"\n",
    "    Executes a SQL query against the SQLite database.\n",
    "    \"\"\"\n",
    "    return pd.read_sql_query(sql_query, cnx)\n",
    "\n",
    "def generate_sql_query(messages):\n",
    "    \"\"\"\n",
    "    Uses OpenAI's GPT-4 to generate a SQL query based on a natural language prompt.\n",
    "    \"\"\"\n",
    "    response = openai.ChatCompletion.create(\n",
    "      model=\"gpt-3.5-turbo\",\n",
    "      messages=messages\n",
    "    )\n",
    "    return response.choices[0].message['content'].strip()\n",
    "\n",
    "\n",
    "def run_tool(json_query):\n",
    "    \"\"\"\n",
    "    Uses OpenAI's GPT-4 to generate a SQL query based on a natural language prompt.\n",
    "    \"\"\"\n",
    "    if(json_query[\"tool_name\"] == \"Query_Database\"):\n",
    "        try:\n",
    "            df1 = query_database(json_query[\"command\"])\n",
    "            print(df1)\n",
    "            data = df1.head().to_dict(orient='records')  # Converts the DataFrame head to a list of dictionaries\n",
    "            return data\n",
    "        except:\n",
    "            print(\"Incorrect sql command. Trying again\")\n",
    "            return \"Retry SQL Query\"\n",
    "    if(json_query[\"tool_name\"] == \"Generate_Final_Answer\"):\n",
    "        return \"Finish\"\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "4f116d8d",
   "metadata": {},
   "outputs": [],
   "source": [
    "import openai\n",
    "\n",
    "def llm_generate_plan(query):\n",
    "    \"\"\"\n",
    "    Generates a detailed plan using an LLM based on the provided query.\n",
    "    \n",
    "    Args:\n",
    "        query (str): A natural language description of the task to be planned.\n",
    "    \n",
    "    Returns:\n",
    "        list: A list of actionable steps derived from the LLM's response.\n",
    "    \"\"\"\n",
    "    # Send the query to the LLM\n",
    "    try:\n",
    "        response = openai.ChatCompletion.create(\n",
    "            model=\"gpt-3.5-turbo\",  # Specify the appropriate model\n",
    "            messages=[\n",
    "                {\"role\": \"user\", \"content\": query}\n",
    "            ]\n",
    "        )\n",
    "        plan_text = response['choices'][0]['message']['content']\n",
    "#         print(\"Full response from LLM:\", plan_text)\n",
    "        \n",
    "        # Process the response into a structured plan\n",
    "        # Here you'd parse the text into discrete steps; this example assumes the LLM returns well-structured text\n",
    "        steps = plan_text.split('\\n')  # Simple split by newline; adjust based on your actual LLM response structure\n",
    "        \n",
    "#         return steps\n",
    "        return plan_text\n",
    "    except Exception as e:\n",
    "        print(\"Error in contacting the LLM:\", e)\n",
    "        return []\n",
    "\n",
    "# Example usage\n",
    "# columns = str(df.columns)\n",
    "# prompt = '''<s> [INST]You are a planning module for a data analysis task. You will be given a query in natural language. You have to devise a step by step plan on how to perform the task. You have to give instructions to the code generator.\n",
    "# You will be interacting with a code generator/tool user to query the SQLlite table to get insights. Be very clear about each step so that the code generator can generate good code.\n",
    "# Draft a step by step plan to perform data analysis for the given table. The name of the SQLlite table is fires. Always use MEMORY to help select the TOOLS to be used. The name of the SQLlite table is fires.\n",
    " \n",
    "# MEMORY\n",
    "# Context: This data publication contains a spatial database of wildfires that occurred in the United States from 1992 to 2015. It is the third update of a publication originally generated to support the national Fire Program Analysis (FPA) system. The wildfire records were acquired from the reporting systems of federal, state, and local fire organizations. The following core data elements were required for records to be included in this data publication: discovery date, final fire size, and a point location at least as precise as Public Land Survey System (PLSS) section (1-square mile grid). The data were transformed to conform, when possible, to the data standards of the National Wildfire Coordinating Group (NWCG). Basic error-checking was performed and redundant records were identified and removed, to the degree possible. The resulting product, referred to as the Fire Program Analysis fire-occurrence database (FPA FOD), includes 1.88 million geo-referenced wildfire records, representing a total of 140 million acres burned during the 24-year period.\n",
    "# Column information: \n",
    "# '''\n",
    "# prompt+= col_txt\n",
    "# prompt+= '''[/INST]\n",
    "# User: Based on the table given, \n",
    "# '''\n",
    "# query = \" Have wildfires become more or less frequent over time?\"\n",
    "# prompt+=query\n",
    "# plan_steps = llm_generate_plan(prompt)\n",
    "# print(\"Generated Plan Steps:\")\n",
    "# for step in plan_steps:\n",
    "#     print(step)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "ad31b41a",
   "metadata": {},
   "outputs": [],
   "source": [
    "# prompt= '''<s> [INST]You are a planning module specifically designed for data analysis tasks. You will receive queries in natural language and must develop a clear, step-by-step plan for performing the task, directing the code generator on how to execute each step effectively. \n",
    "\n",
    "# You will interact with a code generator or tool user to extract insights from a SQLite database. Ensure each instruction is precise and clear to facilitate accurate code generation.\n",
    "\n",
    "# TASK: Draft a comprehensive, step-by-step plan to perform data analysis on a specified table. \n",
    "\n",
    "# DATABASE DETAILS:\n",
    "# - Database: SQLite\n",
    "# - Table Name: fires\n",
    "\n",
    "# MEMORY:\n",
    "# Context: The 'fires' table contains a comprehensive spatial database of wildfires that occurred in the United States from 1992 to 2015. This data supports national Fire Program Analysis (FPA) systems. The records, sourced from federal, state, and local fire organizations, include essential elements such as discovery date, final fire size, and point locations precise to at least the Public Land Survey System (PLSS) section (1-square mile grid). The data conforms to standards set by the National Wildfire Coordinating Group (NWCG) and includes error-checking and redundancy removal. This data publication, known as the Fire Program Analysis fire-occurrence database (FPA FOD), comprises 1.88 million geo-referenced wildfire records, representing 140 million acres burned over a 24-year period.\n",
    "\n",
    "# Column Information:\n",
    "\n",
    "# '''\n",
    "# prompt+= col_txt\n",
    "# prompt+='''\n",
    "# TOOLS\n",
    "# - Generate_Final_Answer: Use if answer to User's question can be given with MEMORY and data we have. Use this after thorough data analysis\n",
    "# - Query_Database: Write only one SQL Query to query the Database. This can only execute one query at a time\n",
    "# - PCA_Analysis: Find variance of the principal components\n",
    "# - Prophet_module: Implement prophet module to find the trends and trend change points.\n",
    "# - Remove_duplicates: Remove duplicate rows\n",
    "\n",
    "\n",
    "# Remember, your goal is to provide clear, executable instructions that a code generator can follow to generate code.\n",
    "\n",
    "# In-context example:\n",
    "# User: What counties are the most and least fire-prone? \\n\n",
    "# Assistant: Extract monthly count of fires for each county. \\n \n",
    "# Combine State and Counties \\n\n",
    "# Retrieve the top 10 counties in terms of total fire duration. \\n\n",
    "# Retrieve the top 10 counties in terms of total fire size. \\n\n",
    "# Retrieve the top 10 counties in terms of fire counts. \\n\n",
    "# Combine the metrics into the same data frame and standardize the values \\n\n",
    "# Implement PCA and calculate the variances of the principal components. \\n\n",
    "# Retrieve the component that has the highest varience. \\n\n",
    "# Print the counties that are the least and the most fire-prone. \\n\n",
    "# [/INST]\n",
    "\n",
    "# User:\n",
    "# '''\n",
    "# prompt+= query\n",
    "# plan_steps = llm_generate_plan(prompt)\n",
    "# print(\"Generated Plan Steps:\")\n",
    "# for step in plan_steps:\n",
    "#     print(step)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "37942dcf",
   "metadata": {},
   "outputs": [],
   "source": [
    "import openai\n",
    "import yaml\n",
    "\n",
    "def load_plugin_schema(plugin_name):\n",
    "    \"\"\"\n",
    "    Loads the plugin schema from a YAML file.\n",
    "    \n",
    "    Args:\n",
    "        plugin_name (str): The name of the plugin.\n",
    "        \n",
    "    Returns:\n",
    "        dict: The plugin schema including name, arguments, and metadata.\n",
    "    \"\"\"\n",
    "    with open(f\"{plugin_name}.yaml\", 'r') as file:\n",
    "        plugin_schema = yaml.safe_load(file)\n",
    "    return plugin_schema\n",
    "\n",
    "def generate_code(plan_steps, plugin_schemas):\n",
    "    \"\"\"\n",
    "    Generates Python code based on the given plan using specified plugins. Follow the plan as specified. Do not use additional models. Do as specified. Do not assume anything. If you need any variable, process it and used. Define variables concretely.\n",
    "    \n",
    "    Args:\n",
    "        plan_steps (list): Steps defined by the planner.\n",
    "        plugin_schemas (dict): Dictionary of loaded plugin schemas.\n",
    "    \n",
    "    Returns:\n",
    "        str: Generated Python code.\n",
    "    \"\"\"\n",
    "    code = \"\"\n",
    "    code_prompt =  '''<s> [INST]\n",
    "    Generate Python code for the given request. Import the necessary libraries first. Ensure that the generated code is ready for direct execution without requiring predefined variables outside of this context. Do not use the fbprophet package; use the Prophet package instead for trend analysis. Use from prophet import Prophet\n",
    "    DATABASE DETAILS:\n",
    "    - Database: SQLite\n",
    "    - Table Name: fires stored in df\n",
    "    - cnx = sqlite3.connect('FPA_FOD_20170508.sqlite')\n",
    "    - USE cnx to query the database using sqlite commands\n",
    "\n",
    "\n",
    "    MEMORY:\n",
    "    Context: The 'fires' table contains a comprehensive spatial database of wildfires that occurred in the United States from 1992 to 2015. This data supports national Fire Program Analysis (FPA) systems. The records, sourced from federal, state, and local fire organizations, include essential elements such as discovery date, final fire size, and point locations precise to at least the Public Land Survey System (PLSS) section (1-square mile grid). The data conforms to standards set by the National Wildfire Coordinating Group (NWCG) and includes error-checking and redundancy removal. This data publication, known as the Fire Program Analysis fire-occurrence database (FPA FOD), comprises 1.88 million geo-referenced wildfire records, representing 140 million acres burned over a 24-year period.\n",
    "\n",
    "    Column Information:\n",
    "\n",
    "    '''\n",
    "    code_prompt+= col_txt\n",
    "    code_prompt+='''\n",
    "    TOOLS\n",
    "    - Generate_Final_Answer: Use if answer to User's question can be given with MEMORY and data we have. Use this after thorough data analysis\n",
    "    - Query_Database: Write only one SQL Query to query the Database. This can only execute one query at a time\n",
    "    - PCA_Analysis: Find variance of the principal components\n",
    "    - Prophet_module: Implement prophet module to find the trends and trend change points. Use \"from prophet import Prophet\"\n",
    "    - Remove_duplicates: Remove duplicate rows\n",
    "    - convert datetime to required format\n",
    "    - extract the necessary metrics and store in dataframe\n",
    "    - Classifier - XGBClassifier - use variable name - xgb_model\n",
    "    - Label Encoder - encode when needed and decode when predicting using inverse transform or decoder\n",
    "    - RandomForestClassifier - use variable name - rf_model\n",
    "    - ClassificationReport\n",
    "    - Convert Julian time\n",
    "        df_model[\"combined_date_dis\"] = df_model[\"FIRE_YEAR\"]*1000 + df_model[\"DISCOVERY_DOY\"]\n",
    "        df_model[\"combined_date_dis\"] = pd.to_datetime(df_model[\"combined_date_dis\"], format = \"%Y%j\")\n",
    "        df_model[\"combined_date_dis\"] = df_model.combined_date_dis.astype(str) + \" \" + df_model.DISCOVERY_TIME.str[:2] + \":\" + df_model.DISCOVERY_TIME.str[2:]\n",
    "        df_model[\"combined_date_dis\"] = pd.to_datetime(df_model[\"combined_date_dis\"])\n",
    "        df_model[\"combined_date_con\"] = df_model[\"FIRE_YEAR\"]*1000 + df_model[\"CONT_DOY\"]\n",
    "        df_model[\"combined_date_con\"] = pd.to_datetime(df_model[\"combined_date_con\"], format = \"%Y%j\",errors=\"ignore\")\n",
    "        df_model[\"combined_date_con\"] = df_model.combined_date_con.astype(str) + \" \" + df_model.CONT_TIME.str[:2] + \":\" + df_model.CONT_TIME.str[2:]\n",
    "        df_model[\"combined_date_con\"] = pd.to_datetime(df_model[\"combined_date_con\"],errors=\"coerce\")\n",
    "        \n",
    "    CODE GENERATION SPECIFICATIONS:\n",
    "    1. Define all intermediate data structures or variables explicitly.\n",
    "    2. Ensure all necessary libraries are imported at the beginning of the script.\n",
    "    3. Write clear comments within the code to describe each operation.\n",
    "    4. For each tool mentioned, include a code snippet that initializes the tool, performs the operation, and stores or prints the result.\n",
    "    5. Make sure to handle all data preprocessing within the script, including the conversion of date formats, encoding of categorical variables, and preparation of the dataset for machine learning models.\n",
    "\n",
    "    [/INST]\n",
    "    Previous steps/CODE:\n",
    "    '''\n",
    "    for step in plan_steps:\n",
    "        if 'plugin' in step:\n",
    "            plugin_name = step.split(':')[1].strip()\n",
    "            if plugin_name in plugin_schemas:\n",
    "                schema = plugin_schemas[plugin_name]\n",
    "                code += f\"# Using plugin: {plugin_name}\\n\"\n",
    "                code += f\"{schema['function_name']}({', '.join(f'{arg}={value}' for arg, value in schema['arguments'].items())})\\n\"\n",
    "        else:\n",
    "            # Generate general Python code based on LLM suggestions\n",
    "            response = openai.ChatCompletion.create(\n",
    "                model=\"gpt-3.5-turbo\",\n",
    "                messages=[\n",
    "                    {\"role\": \"system\", \"content\":code_prompt},\n",
    "                    {\"role\": \"user\", \"content\": step}\n",
    "                ]\n",
    "            )\n",
    "            generated_code = response['choices'][0]['message']['content']\n",
    "            code += f\"{generated_code}\\n\"\n",
    "            code_prompt+=step\n",
    "            code_prompt+=code\n",
    "    return code\n",
    "\n",
    "def extract_python_code(text):\n",
    "    \"\"\"\n",
    "    Extract Python code blocks from the provided text string.\n",
    "\n",
    "    Args:\n",
    "        text (str): A string containing mixed content including Python code blocks.\n",
    "\n",
    "    Returns:\n",
    "        list of str: A list containing the extracted Python code blocks.\n",
    "    \"\"\"\n",
    "    # Split the text by triple backticks to find potential code blocks\n",
    "    parts = text.split('```python')\n",
    "    code_blocks = []\n",
    "\n",
    "    # Iterate over parts that come after `python` indicated by backticks\n",
    "    for part in parts[1:]:  # skip the first split as it won't contain code\n",
    "        # Find the first occurrence of triple backticks which marks the end of the code block\n",
    "        end_idx = part.find('```')\n",
    "        if end_idx != -1:\n",
    "            # Extract the code block up to the ending backticks\n",
    "            code_blocks.append(part[:end_idx].strip())\n",
    "\n",
    "    return code_blocks\n",
    "def run_code_with_custom_globals(generated_code, local_environment):\n",
    "    \"\"\"\n",
    "    Executes the provided Python code using custom globals and captures the output.\n",
    "    \n",
    "    Args:\n",
    "        generated_code (str): Python code to be executed.\n",
    "        local_environment (dict): Custom global variables for the execution environment.\n",
    "    \n",
    "    Returns:\n",
    "        str: Output from executing the code.\n",
    "    \"\"\"\n",
    "    old_stdout = sys.stdout\n",
    "    redirected_output = sys.stdout = io.StringIO()\n",
    "\n",
    "    try:\n",
    "        exec(generated_code, local_environment)\n",
    "    except Exception as e:\n",
    "        print(f\"Error during execution: {e}\", file=sys.stdout)\n",
    "    finally:\n",
    "        sys.stdout = old_stdout\n",
    "\n",
    "    output = redirected_output.getvalue()\n",
    "    redirected_output.close()\n",
    "    return output\n",
    "#    Generate Python code for the given request. Import the necessary libraries. Generate only the code so that I can directly execute. Do not use fbprophet only use prophet\n",
    "#     The database in discussion is df (pandas dataframe).Do not assume the existence of variables. Create them if required and use them. Use proper variable names as defined, do not assume variable names.\n",
    "#     Clearly define the target variable name based on previous steps."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "id": "aea103b8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1. Extract the 'FIRE_YEAR' and 'FIRE_SIZE_CLASS' columns from the 'fires' table.\n",
      "2. Count the number of wildfires for each year.\n",
      "3. Group the data by 'FIRE_YEAR' and 'FIRE_SIZE_CLASS' to get the count of wildfires in each size class for every year.\n",
      "4. Calculate the total count of wildfires for each year (across all size classes).\n",
      "5. Generate a line plot showing the trend of total wildfires over the years.\n",
      "6. Implement a Prophet module to analyze the trend and trend change points over time.\n",
      "7. Print the insights on whether wildfires have become more or less frequent over the analyzed period.\n"
     ]
    }
   ],
   "source": [
    "# Step 1: Plan generation\n",
    "prompt= '''<s> [INST]You are a planning module specifically designed for data analysis tasks. You will receive queries in natural language and must develop a clear, step-by-step plan for performing the task, directing the code generator on how to execute each step effectively. \n",
    "\n",
    "You will interact with a code generator or tool user to extract insights from a SQLite database. Ensure each instruction is precise and clear to facilitate accurate code generation.\n",
    "\n",
    "TASK: Draft a comprehensive, step-by-step plan to perform data analysis on the specified SQLite table named 'fires'. This table contains extensive data on wildfires. The plan should outline the necessary SQL queries, data preprocessing steps, analytical methods, and final reporting formats. Mention all variable names clearly and specify any new DataFrames or structures needed. Do not assume functions and keep changing variable names.\n",
    "\n",
    "DATABASE DETAILS:\n",
    "- Database: SQLite\n",
    "- Table Name: fires\n",
    "\n",
    "MEMORY:\n",
    "Context: The 'fires' table contains a comprehensive spatial database of wildfires that occurred in the United States from 1992 to 2015. This data supports national Fire Program Analysis (FPA) systems. The records, sourced from federal, state, and local fire organizations, include essential elements such as discovery date, final fire size, and point locations precise to at least the Public Land Survey System (PLSS) section (1-square mile grid). The data conforms to standards set by the National Wildfire Coordinating Group (NWCG) and includes error-checking and redundancy removal. This data publication, known as the Fire Program Analysis fire-occurrence database (FPA FOD), comprises 1.88 million geo-referenced wildfire records, representing 140 million acres burned over a 24-year period.\n",
    "\n",
    "Column Information:\n",
    "'''\n",
    "prompt+= col_txt\n",
    "prompt+='''\n",
    "TOOLS\n",
    "- Generate_Final_Answer: Use if answer to User's question can be given with MEMORY and data we have. Use this after thorough data analysis\n",
    "- Query_Database: Write only one SQL Query to query the Database. This can only execute one query at a time\n",
    "- PCA_Analysis: Find variance of the principal components\n",
    "- Prophet_module: Implement prophet module to find the trends and trend change points. (from prophet import Prophet)\n",
    "- Remove_duplicates: Remove duplicate rows\n",
    "- convert datetime to required format - from 223453464 to mmddyyyy\n",
    "- extract the necessary metrics and store in dataframe\n",
    "- Classifier - XGBClassifier\n",
    "- Label Encoder - encode when needed and decode when predicting using inverse transform or decoder\n",
    "- RandomForestClassifier\n",
    "- ClassificationReport\n",
    "- Inverse transform\n",
    "\n",
    "\n",
    "Remember, your goal is to provide clear, executable instructions that a code generator can follow to generate code. Be very clear and define variables whenever needed. \n",
    "\n",
    "In-context example:\n",
    "User: What counties are the most and least fire-prone? \\n\n",
    "Assistant: \n",
    "1. Extract monthly count of fires for each county. \\n \n",
    "2. Combine State and Counties \\n\n",
    "3. Retrieve the top 10 counties in terms of total fire duration. \\n\n",
    "4. Retrieve the top 10 counties in terms of total fire size. \\n\n",
    "5. Retrieve the top 10 counties in terms of fire counts. \\n\n",
    "6. Combine the metrics total fire duration, total fire size,fire counts into the same data frame and standardize the values \\n\n",
    "7. Implement PCA and calculate the variances of the principal components. \\n\n",
    "8. Retrieve the component that has the highest varience. \\n\n",
    "9. Print the counties that are the least and the most fire-prone. \\n\n",
    "[/INST]\n",
    "\n",
    "User:\n",
    "'''\n",
    "# query = 'What counties are the most and least fire-prone?'\n",
    "query = 'Have wildfires become more or less frequent over time?'\n",
    "# query = 'Given the size, location and date, can you predict the cause of a fire wildfire?'\n",
    "prompt+= query\n",
    "plan_txt = llm_generate_plan(prompt)\n",
    "print(plan_txt)\n",
    "# print(\"Generated Plan Steps:\")\n",
    "#TASK: Draft a comprehensive, step-by-step plan to perform data analysis on a specified table. Mention the variable names clearly and the new dataframes needed for the code generator to understand.\n",
    "\n",
    "\n",
    "# Assistant:\n",
    "# 1. Extract monthly counts of fires for each county using SQL:\n",
    "#    - `monthly_fires_df = QUERY('SELECT state, county, COUNT(*) AS monthly_fire_count, strftime('%m', discovery_date) AS month FROM fires GROUP BY state, county, month');`\n",
    "# 2. Combine state and county into a unique identifier:\n",
    "#    - `monthly_fires_df['county_identifier'] = monthly_fires_df['state'] + ', ' + monthly_fires_df['county'];`\n",
    "# 3. Retrieve and rank the top 10 counties by total fire duration, size, and counts:\n",
    "#    - `top_duration_df = QUERY('SELECT county_identifier, SUM(duration) AS total_duration FROM monthly_fires_df GROUP BY county_identifier ORDER BY total_duration DESC LIMIT 10');`\n",
    "#    - Similar queries for fire size and counts.\n",
    "# 4. Combine these metrics into a single DataFrame and standardize the values:\n",
    "#    - `combined_metrics_df = MERGE(top_duration_df, top_size_df, top_counts_df);`\n",
    "#    - `standardized_metrics_df = STANDARDIZE(combined_metrics_df);`\n",
    "# 5. Implement PCA on the standardized data and identify the principal component with the highest variance.\n",
    "#    - `pca_results = PCA_ANALYSIS(standardized_metrics_df);`\n",
    "# 6. Output the counties from the component showing the highest variance as the most and least fire-prone.\n",
    "#    - `final_result = IDENTIFY_EXTREMES(pca_results);`\n",
    "#    - `PRINT('Most and Least Fire-Prone Counties: ', final_result);`\n",
    "# Assistant: Extract monthly count of fires for each county. \\n \n",
    "# Combine State and Counties \\n\n",
    "# Retrieve the top 10 counties in terms of total fire duration. \\n\n",
    "# Retrieve the top 10 counties in terms of total fire size. \\n\n",
    "# Retrieve the top 10 counties in terms of fire counts. \\n\n",
    "# Combine the metrics total fire duration, total fire size,fire counts into the same data frame and standardize the values \\n\n",
    "# Implement PCA and calculate the variances of the principal components. \\n\n",
    "# Retrieve the component that has the highest varience. \\n\n",
    "# Print the counties that are the least and the most fire-prone. \\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "41ed3b44",
   "metadata": {},
   "outputs": [],
   "source": [
    "import re\n",
    "\n",
    "def extract_numbered_list_items(text):\n",
    "    \"\"\"\n",
    "    Extracts numbered list items from the provided text.\n",
    "\n",
    "    Args:\n",
    "        text (str): The input text from which numbered list items will be extracted.\n",
    "    \n",
    "    Returns:\n",
    "        list: A list of strings, each a numbered list item containing numbers.\n",
    "    \"\"\"\n",
    "    # Regex to find lines starting with one or more digits followed by a period and optional whitespace\n",
    "    pattern = r'\\n?(\\d+\\.\\s+.*?(?=\\n\\d+\\.|\\n\\n|\\Z))'\n",
    "    numbered_items = re.findall(pattern, text, flags=re.DOTALL)\n",
    "\n",
    "    return [item.strip() for item in numbered_items]\n",
    "plan_steps = extract_numbered_list_items(plan_txt)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "3555b6a1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[\"1. Extract the 'FIRE_YEAR' and 'FIRE_SIZE_CLASS' columns from the 'fires' table.\",\n",
       " '2. Count the number of wildfires for each year.',\n",
       " \"3. Group the data by 'FIRE_YEAR' and 'FIRE_SIZE_CLASS' to get the count of wildfires in each size class for every year.\",\n",
       " '4. Calculate the total count of wildfires for each year (across all size classes).',\n",
       " '5. Generate a line plot showing the trend of total wildfires over the years.',\n",
       " '6. Implement a Prophet module to analyze the trend and trend change points over time.',\n",
       " '7. Print the insights on whether wildfires have become more or less frequent over the analyzed period.']"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plan_steps"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "b8fb1dc7",
   "metadata": {},
   "outputs": [],
   "source": [
    "# # Example user query\n",
    "# user_query = \"Analyze wildfire data trends over the years\"\n",
    "\n",
    "# \n",
    "# plan_steps = llm_generate_plan(user_query)\n",
    "# print(plan_steps)\n",
    "# Step 2: Code generation\n",
    "# plugin_schemas = load_plugin_schemas('FBProphet_module')  # Assume this loads necessary plugin info\n",
    "plugin_schemas = {}\n",
    "generated_code = generate_code(plan_steps, plugin_schemas)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "c7311a70",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "import sqlite3\n",
      "import pandas as pd\n",
      "\n",
      "# Connect to the SQLite database\n",
      "cnx = sqlite3.connect('FPA_FOD_20170508.sqlite')\n",
      "\n",
      "# Query the 'fires' table to extract the 'FIRE_YEAR' and 'FIRE_SIZE_CLASS' columns\n",
      "query = \"SELECT FIRE_YEAR, FIRE_SIZE_CLASS FROM fires\"\n",
      "df = pd.read_sql_query(query, cnx)\n",
      "\n",
      "# Display the extracted data\n",
      "print(df.head())\n",
      "end of python\n",
      "\n",
      "# Group the data by 'FIRE_YEAR' and count the number of wildfires for each year\n",
      "wildfires_count = df.groupby('FIRE_YEAR').size().reset_index(name='COUNT')\n",
      "\n",
      "# Display the number of wildfires for each year\n",
      "print(wildfires_count)\n",
      "end of python\n",
      "\n",
      "# Group the data by 'FIRE_YEAR' and 'FIRE_SIZE_CLASS' to get the count of wildfires in each size class for every year\n",
      "wildfires_count_size_class = df.groupby(['FIRE_YEAR', 'FIRE_SIZE_CLASS']).size().reset_index(name='COUNT')\n",
      "\n",
      "# Display the count of wildfires in each size class for every year\n",
      "print(wildfires_count_size_class)\n",
      "end of python\n",
      "\n",
      "# Group the data by 'FIRE_YEAR' to calculate the total count of wildfires for each year\n",
      "total_wildfires_per_year = df.groupby('FIRE_YEAR').size().reset_index(name='TOTAL_COUNT')\n",
      "\n",
      "# Display the total count of wildfires for each year\n",
      "print(total_wildfires_per_year)\n",
      "end of python\n",
      "\n",
      "import matplotlib.pyplot as plt\n",
      "\n",
      "# Group the data by 'FIRE_YEAR' to calculate the total count of wildfires for each year\n",
      "total_wildfires_per_year = df.groupby('FIRE_YEAR').size().reset_index(name='TOTAL_COUNT')\n",
      "\n",
      "# Generate a line plot showing the trend of total wildfires over the years\n",
      "plt.figure(figsize=(12, 6))\n",
      "plt.plot(total_wildfires_per_year['FIRE_YEAR'], total_wildfires_per_year['TOTAL_COUNT'], marker='o', color='b', linestyle='-')\n",
      "plt.title('Trend of Total Wildfires Over the Years')\n",
      "plt.xlabel('Year')\n",
      "plt.ylabel('Total Wildfires')\n",
      "plt.grid(True)\n",
      "plt.show()\n",
      "end of python\n",
      "\n",
      "from prophet import Prophet\n",
      "\n",
      "# Group the data by 'FIRE_YEAR' to calculate the total count of wildfires for each year\n",
      "total_wildfires_per_year = df.groupby('FIRE_YEAR').size().reset_index(name='TOTAL_COUNT')\n",
      "\n",
      "# Convert the columns to 'ds' (date) and 'y' (total count of wildfires)\n",
      "total_wildfires_per_year.columns = ['ds', 'y']\n",
      "\n",
      "# Initialize the Prophet model\n",
      "model = Prophet()\n",
      "\n",
      "# Fit the model with the data\n",
      "model.fit(total_wildfires_per_year)\n",
      "\n",
      "# Make future predictions using the fitted model\n",
      "future = model.make_future_dataframe(periods=365)  # Extend the data to include future dates\n",
      "forecast = model.predict(future)\n",
      "\n",
      "# Visualize the trend and trend change points over time\n",
      "fig = model.plot(forecast)\n",
      "plt.title('Trend and Trend Change Points of Total Wildfires Over Time')\n",
      "plt.xlabel('Year')\n",
      "plt.ylabel('Total Wildfires')\n",
      "plt.show()\n",
      "end of python\n",
      "\n",
      "# Group the data by 'FIRE_YEAR' to calculate the total count of wildfires for each year\n",
      "total_wildfires_per_year = df.groupby('FIRE_YEAR').size().reset_index(name='TOTAL_COUNT')\n",
      "\n",
      "# Convert the columns to 'ds' (date) and 'y' (total count of wildfires)\n",
      "total_wildfires_per_year.columns = ['ds', 'y']\n",
      "\n",
      "# Initialize the Prophet model\n",
      "model = Prophet()\n",
      "\n",
      "# Fit the model with the data\n",
      "model.fit(total_wildfires_per_year)\n",
      "\n",
      "# Make future predictions using the fitted model\n",
      "future = model.make_future_dataframe(periods=365)  # Extend the data to include future dates\n",
      "forecast = model.predict(future)\n",
      "\n",
      "# Calculate the mean annual percentage change in wildfires count\n",
      "mean_annual_change = 100 * ((forecast.loc[forecast.shape[0] - 1, 'yhat'] - forecast.loc[0, 'yhat']) / forecast.loc[0, 'yhat'])\n",
      "if mean_annual_change > 0:\n",
      "    print(\"Wildfires have become more frequent over the analyzed period.\")\n",
      "elif mean_annual_change < 0:\n",
      "    print(\"Wildfires have become less frequent over the analyzed period.\")\n",
      "else:\n",
      "    print(\"The frequency of wildfires has remained relatively stable over the analyzed period.\")\n",
      "\n",
      "# Visualize the trend and trend change points over time\n",
      "fig = model.plot(forecast)\n",
      "plt.title('Trend and Trend Change Points of Total Wildfires Over Time')\n",
      "plt.xlabel('Year')\n",
      "plt.ylabel('Total Wildfires')\n",
      "plt.show()\n",
      "end of python\n",
      "\n"
     ]
    }
   ],
   "source": [
    "\n",
    "tmp = extract_python_code(generated_code)\n",
    "for x in tmp:\n",
    "    print(x)\n",
    "    print(\"end of python\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "id": "359606af",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 43%|███████████████████▎                         | 3/7 [00:02<00:02,  1.59it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Execution Output:\n",
      "   FIRE_YEAR FIRE_SIZE_CLASS\n",
      "0       2005               A\n",
      "1       2004               A\n",
      "2       2004               A\n",
      "3       2004               A\n",
      "4       2004               A\n",
      "\n",
      "Execution Output:\n",
      "    FIRE_YEAR   COUNT\n",
      "0        1992   67975\n",
      "1        1993   61989\n",
      "2        1994   75955\n",
      "3        1995   71472\n",
      "4        1996   75574\n",
      "5        1997   61450\n",
      "6        1998   68370\n",
      "7        1999   89363\n",
      "8        2000   96416\n",
      "9        2001   86587\n",
      "10       2002   75656\n",
      "11       2003   68261\n",
      "12       2004   69279\n",
      "13       2005   88604\n",
      "14       2006  114004\n",
      "15       2007   95573\n",
      "16       2008   85378\n",
      "17       2009   78325\n",
      "18       2010   79889\n",
      "19       2011   90552\n",
      "20       2012   72769\n",
      "21       2013   64780\n",
      "22       2014   67753\n",
      "23       2015   74491\n",
      "\n",
      "Execution Output:\n",
      "     FIRE_YEAR FIRE_SIZE_CLASS  COUNT\n",
      "0         1992               A  25540\n",
      "1         1992               B  32981\n",
      "2         1992               C   7955\n",
      "3         1992               D    876\n",
      "4         1992               E    368\n",
      "5         1992               F    197\n",
      "6         1992               G     58\n",
      "7         1993               A  20767\n",
      "8         1993               B  32197\n",
      "9         1993               C   7573\n",
      "10        1993               D    831\n",
      "11        1993               E    397\n",
      "12        1993               F    159\n",
      "13        1993               G     65\n",
      "14        1994               A  27900\n",
      "15        1994               B  36823\n",
      "16        1994               C   8833\n",
      "17        1994               D   1182\n",
      "18        1994               E    668\n",
      "19        1994               F    403\n",
      "20        1994               G    146\n",
      "21        1995               A  23913\n",
      "22        1995               B  36864\n",
      "23        1995               C   8923\n",
      "24        1995               D   1005\n",
      "25        1995               E    473\n",
      "26        1995               F    225\n",
      "27        1995               G     69\n",
      "28        1996               A  25120\n",
      "29        1996               B  37846\n",
      "30        1996               C  10118\n",
      "31        1996               D   1220\n",
      "32        1996               E    695\n",
      "33        1996               F    374\n",
      "34        1996               G    201\n",
      "35        1997               A  21664\n",
      "36        1997               B  31946\n",
      "37        1997               C   6720\n",
      "38        1997               D    678\n",
      "39        1997               E    267\n",
      "40        1997               F    114\n",
      "41        1997               G     61\n",
      "42        1998               A  23408\n",
      "43        1998               B  35465\n",
      "44        1998               C   7931\n",
      "45        1998               D    896\n",
      "46        1998               E    405\n",
      "47        1998               F    189\n",
      "48        1998               G     76\n",
      "49        1999               A  27562\n",
      "50        1999               B  47819\n",
      "51        1999               C  11477\n",
      "52        1999               D   1322\n",
      "53        1999               E    658\n",
      "54        1999               F    370\n",
      "55        1999               G    155\n",
      "56        2000               A  33063\n",
      "57        2000               B  48113\n",
      "58        2000               C  12108\n",
      "59        2000               D   1570\n",
      "60        2000               E    834\n",
      "61        2000               F    483\n",
      "62        2000               G    245\n",
      "63        2001               A  31131\n",
      "64        2001               B  44347\n",
      "65        2001               C   8877\n",
      "66        2001               D   1178\n",
      "67        2001               E    598\n",
      "68        2001               F    343\n",
      "69        2001               G    113\n",
      "70        2002               A  27484\n",
      "71        2002               B  38320\n",
      "72        2002               C   8069\n",
      "73        2002               D    948\n",
      "74        2002               E    415\n",
      "75        2002               F    250\n",
      "76        2002               G    170\n",
      "77        2003               A  28265\n",
      "78        2003               B  31810\n",
      "79        2003               C   6405\n",
      "80        2003               D    863\n",
      "81        2003               E    487\n",
      "82        2003               F    304\n",
      "83        2003               G    127\n",
      "84        2004               A  27356\n",
      "85        2004               B  32799\n",
      "86        2004               C   7739\n",
      "87        2004               D    761\n",
      "88        2004               E    341\n",
      "89        2004               F    166\n",
      "90        2004               G    117\n",
      "91        2005               A  28485\n",
      "92        2005               B  46066\n",
      "93        2005               C  11285\n",
      "94        2005               D   1446\n",
      "95        2005               E    705\n",
      "96        2005               F    394\n",
      "97        2005               G    223\n",
      "98        2006               A  34053\n",
      "99        2006               B  59411\n",
      "100       2006               C  16201\n",
      "101       2006               D   2296\n",
      "102       2006               E   1149\n",
      "103       2006               F    625\n",
      "104       2006               G    269\n",
      "105       2007               A  33841\n",
      "106       2007               B  48249\n",
      "107       2007               C  10711\n",
      "108       2007               D   1453\n",
      "109       2007               E    701\n",
      "110       2007               F    384\n",
      "111       2007               G    234\n",
      "112       2008               A  27850\n",
      "113       2008               B  44039\n",
      "114       2008               C  10321\n",
      "115       2008               D   1695\n",
      "116       2008               E    847\n",
      "117       2008               F    468\n",
      "118       2008               G    158\n",
      "119       2009               A  27164\n",
      "120       2009               B  39528\n",
      "121       2009               C   9176\n",
      "122       2009               D   1322\n",
      "123       2009               E    663\n",
      "124       2009               F    336\n",
      "125       2009               G    136\n",
      "126       2010               A  28716\n",
      "127       2010               B  39775\n",
      "128       2010               C   9270\n",
      "129       2010               D   1209\n",
      "130       2010               E    569\n",
      "131       2010               F    245\n",
      "132       2010               G    105\n",
      "133       2011               A  28677\n",
      "134       2011               B  46523\n",
      "135       2011               C  11634\n",
      "136       2011               D   1854\n",
      "137       2011               E    985\n",
      "138       2011               F    605\n",
      "139       2011               G    274\n",
      "140       2012               A  27349\n",
      "141       2012               B  34977\n",
      "142       2012               C   7960\n",
      "143       2012               D   1182\n",
      "144       2012               E    642\n",
      "145       2012               F    415\n",
      "146       2012               G    244\n",
      "147       2013               A  28004\n",
      "148       2013               B  29624\n",
      "149       2013               C   5855\n",
      "150       2013               D    677\n",
      "151       2013               E    301\n",
      "152       2013               F    187\n",
      "153       2013               G    132\n",
      "154       2014               A  27260\n",
      "155       2014               B  31724\n",
      "156       2014               C   7216\n",
      "157       2014               D    865\n",
      "158       2014               E    371\n",
      "159       2014               F    214\n",
      "160       2014               G    103\n",
      "161       2015               A  32347\n",
      "162       2015               B  32130\n",
      "163       2015               C   7720\n",
      "164       2015               D   1098\n",
      "165       2015               E    568\n",
      "166       2015               F    336\n",
      "167       2015               G    292\n",
      "\n",
      "Execution Output:\n",
      "    FIRE_YEAR  TOTAL_COUNT\n",
      "0        1992        67975\n",
      "1        1993        61989\n",
      "2        1994        75955\n",
      "3        1995        71472\n",
      "4        1996        75574\n",
      "5        1997        61450\n",
      "6        1998        68370\n",
      "7        1999        89363\n",
      "8        2000        96416\n",
      "9        2001        86587\n",
      "10       2002        75656\n",
      "11       2003        68261\n",
      "12       2004        69279\n",
      "13       2005        88604\n",
      "14       2006       114004\n",
      "15       2007        95573\n",
      "16       2008        85378\n",
      "17       2009        78325\n",
      "18       2010        79889\n",
      "19       2011        90552\n",
      "20       2012        72769\n",
      "21       2013        64780\n",
      "22       2014        67753\n",
      "23       2015        74491\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABAgAAAIjCAYAAACOIinVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC1I0lEQVR4nOzdd1hTZxsG8DuEqTJcLEXFUScuXCiK1oGr1eK2Vuveitpa/do627q3tmpr1Q5bR9G21qq4UJDi3tpqiwsFrQtFZYTz/fH2BJBhwCQn4/5dF1deTg7JQzgJyXPe93lUkiRJICIiIiIiIiKrZqN0AERERERERESkPCYIiIiIiIiIiIgJAiIiIiIiIiJigoCIiIiIiIiIwAQBEREREREREYEJAiIiIiIiIiICEwREREREREREBCYIiIiIiIiIiAhMEBARERERERERmCAgIiILN23aNKhUKr3e5s6dO1G7dm04OjpCpVLh4cOHer19fTtw4ABUKhUOHDhg9Pt59913Ua5cuZf+7NWrV6FSqbBu3bos23N6rHW9Tcq/d999F0WKFFE6DCIiUggTBEREVCAqlUqnL0N/KDW2e/fuoXv37nBycsKKFSvw7bffonDhwtn20+fj89lnn2Hbtm36/2Uy2bRpE1QqFbZu3Zrtulq1akGlUmH//v3ZritTpgwaN25skJh0faxNwfXr1zFs2DCUK1cODg4OcHd3R+fOnREVFaV0aNk8ffoU06ZNU+S5mZqaCj8/P1SoUAHPnj3Ldv3Vq1dRqFAhdOvWzeixERERYKt0AEREZJ6+/fbbLN9/8803CA8Pz7a9atWqxgzL4I4ePYrHjx9j5syZaNWqVa776fPx+eyzz9C1a1d07ty5QDHrIjAwEAAQGRmJt956S7s9MTER586dg62tLaKiotCiRQvtdTdu3MCNGzfQs2dPAECzZs3w7Nkz2Nvb6yWm3B7rL7/8Eunp6Xq5D32IiopC+/btAQCDBg1CtWrVEB8fj3Xr1qFp06ZYsmQJRo8erXCUGZ4+fYrp06cDAJo3b27U+7azs8Pq1avRpEkTzJw5E5999lmW60eNGgV7e3ssXbrUqHEREZHABAERERVInz59snz/xx9/IDw8PNv2Fz19+hSFChUyZGgGdefOHQCAm5tbnvsV9PFRire3N3x9fREZGZlle3R0NCRJQrdu3bJdJ38vJxdsbGzg6Oiot5hye6zt7Oxe+rNpaWlIT0/XW7IiNw8ePEDXrl3h5OSEqKgoVKhQQXvd+PHjERwcjNDQUPj7+xtspkVOnj9/Dnt7e9jYmN5k0YCAAAwbNgzz58/H22+/jerVqwMAfvrpJ/z222/4/PPP4eXlZfA4kpKSTHZGChGRUkzvvwYREVmM5s2bo0aNGjh+/DiaNWuGQoUK4X//+x8AIDk5GVOnTkXFihXh4OAAHx8fTJw4EcnJyVluQ6VSYdSoUdi2bRtq1KgBBwcHVK9eHTt37sx2f5GRkahfvz4cHR1RoUIFrFq1Kl/xbt68Gf7+/nByckKJEiXQp08fxMXFZfl9+vXrBwCoX78+VCoV3n333Xw+KhmSkpIwYcIE+Pj4wMHBAZUrV8b8+fMhSZJ2H5VKhaSkJKxfv167LEG+z2vXrmHEiBGoXLkynJycULx4cXTr1g1Xr14tUDyBgYE4efJklqnfUVFRqF69Otq1a4c//vgjy5n7qKgoqFQqNGnSBIDutQ7kOgKurq5wc3NDv379stVxyOuxfrEGgVy/YP78+Vi8eDEqVKgABwcHXLhwAQBw6dIldO3aFcWKFYOjoyPq1auHX375Jcv9paamYvr06ahUqRIcHR1RvHhxBAYGIjw8PM/fZdWqVYiPj8e8efOyJAcAwMnJSft3mzFjBgDg2LFjUKlUWL9+fbbb2rVrF1QqFbZv367dFhcXhwEDBsDDw0N77H/99ddZfk5+3H/88Ud89NFHKFWqFAoVKoTExMRs93H16lWULFkSADB9+nTtMTVt2rQs+8XFxaFz584oUqQISpYsiffeew8ajSbLPunp6Vi8eDGqV68OR0dHeHh4YOjQoXjw4EGejxkAzJo1CyVKlMCwYcMgSRKePHmC0NBQbfIAAGJiYtC2bVu4urqiUKFCCAoKyrZkQ9fnwLp166BSqRAREYERI0bA3d0dpUuXBgA8fvwYoaGhWZaHtG7dGidOnHjp70FEZGk4g4CIiAzq3r17aNeuHXr27Ik+ffrAw8MD6enpePPNNxEZGYkhQ4agatWqOHv2LBYtWoS//vor23r7yMhIhIWFYcSIEXB2dsbSpUvRpUsXXL9+HcWLFwcAnD17Fm3atEHJkiUxbdo0pKWlYerUqfDw8NApznXr1qF///6oX78+Zs2ahYSEBCxZsgRRUVE4efIk3Nzc8OGHH6Jy5cpYvXo1ZsyYAV9f32wfCnUlSRLefPNN7N+/HwMHDkTt2rWxa9cuvP/++4iLi8OiRYsAiKUKgwYNQoMGDTBkyBAA0N7n0aNHcfjwYfTs2ROlS5fG1atX8cUXX6B58+a4cOFCvmdqBAYG4ttvv0VMTIx26nlUVBQaN26Mxo0b49GjRzh37hxq1qypva5KlSrav4Guv3enTp0QGRmJYcOGoWrVqti6das2GSAryGO9du1aPH/+HEOGDIGDgwOKFSuG8+fPo0mTJihVqhQmTZqEwoULY9OmTejcuTN++ukn7XKKadOmYdasWdrHOjExEceOHcOJEyfQunXrXO/z119/haOjI7p3757j9b6+vggMDMS+ffvw7Nkz1KtXD+XLl8emTZuy/c4bN25E0aJFERwcDABISEhAo0aNtEmykiVL4vfff8fAgQORmJiI0NDQLD8/c+ZM2Nvb47333kNycnKOsydKliyJL774AsOHD8dbb72FkJAQAND+TQFAo9EgODgYDRs2xPz587Fnzx4sWLAAFSpUwPDhw7X7DR06VPu8GTNmDGJjY7F8+XKcPHkSUVFRec70cHV1xdKlS9GtWzd89dVXuHDhAhISEvD7779DpVJh3759aNeuHfz9/TF16lTY2Nhg7dq1eP3113Ho0CE0aNAAQP6fAyNGjEDJkiUxZcoUJCUlAQCGDRuGLVu2YNSoUahWrRru3buHyMhIXLx4EXXr1s31dyAiskgSERGRHowcOVJ68d9KUFCQBEBauXJllu3ffvutZGNjIx06dCjL9pUrV0oApKioKO02AJK9vb105coV7bbTp09LAKRly5Zpt3Xu3FlydHSUrl27pt124cIFSa1WZ4vrRSkpKZK7u7tUo0YN6dmzZ9rt27dvlwBIU6ZM0W5bu3atBEA6evRonrf5ohcfn23btkkApE8++STLfl27dpVUKlWW37dw4cJSv379st3m06dPs22Ljo6WAEjffPONdtv+/fslANL+/fvzjPH8+fMSAGnmzJmSJElSamqqVLhwYWn9+vWSJEmSh4eHtGLFCkmSJCkxMVFSq9XS4MGD87yffv36SWXLls32e8+dO1e7LS0tTWratKkEQFq7dq12e26P9Yu3GRsbKwGQXFxcpDt37mTZt2XLlpKfn5/0/Plz7bb09HSpcePGUqVKlbTbatWqJXXo0CHPxycnbm5uUq1atfLcZ8yYMRIA6cyZM5IkSdLkyZMlOzs76f79+9p9kpOTJTc3N2nAgAHabQMHDpS8vLykf//9N8vt9ezZU3J1ddX+/eXHvXz58jkeEy+6e/euBECaOnVqtuv69esnAZBmzJiRZXudOnUkf39/7feHDh2SAEjff/99lv127tyZ4/bcdOzYUXJ1dZXUarU0efJkSZLE36dSpUpScHCwlJ6ert336dOnkq+vr9S6dess216U03NAPpYCAwOltLS0LPu7urpKI0eO1CleIiJLxyUGRERkUA4ODujfv3+WbZs3b0bVqlVRpUoV/Pvvv9qv119/HQCyVctv1apVlrPHNWvWhIuLC/755x8A4oznrl270LlzZ5QpU0a7X9WqVbVnY/Ny7Ngx3LlzByNGjMiyhr5Dhw6oUqUKfvvtt/z/4i+xY8cOqNVqjBkzJsv2CRMmQJIk/P777y+9DScnJ+04NTUV9+7dQ8WKFeHm5lag6dFVq1ZF8eLFtbUFTp8+jaSkJO3a+caNG2uneEdHR0Oj0WjrD+hqx44dsLW1zXImWq1W66WIX5cuXbTT5wHg/v372LdvH7p3747Hjx9rj7N79+4hODgYly9f1i4hcXNzw/nz53H58uV83efjx4/h7Oyc5z7y9fKU/x49eiA1NRVhYWHafXbv3o2HDx+iR48eAMRMi59++glvvPEGJEnK8jwJDg7Go0ePsv2N+/Xrl+WYeBXyNH9Z06ZNtc83QDyHXV1d0bp16yyx+fv7o0iRIjl2vMjJihUrkJKSAh8fH3z88ccAgFOnTuHy5cvo3bs37t27p73tpKQktGzZEgcPHtQudcnvc2Dw4MFQq9VZtrm5uSEmJga3bt3S7cEhIrJgXGJAREQGVapUqWxTnS9fvoyLFy9m+TCXmVycTpb5Q7+saNGi2rXOd+/exbNnz1CpUqVs+1WuXBk7duzIM8Zr165p931RlSpVshXn04dr167B29s724dLuauBHFNenj17hlmzZmHt2rWIi4vLUrvg0aNH+Y5JpVKhcePG2g9gUVFRcHd3R8WKFQGIBMHy5csBQJsoyG+C4Nq1a/Dy8kKRIkWybM/psc8vX1/fLN9fuXIFkiTh448/1n74fNGdO3dQqlQpzJgxA506dcJrr72GGjVqoG3btnjnnXeyTL3PibOzMx4/fpznPvL18t+6Vq1aqFKlCjZu3IiBAwcCEMsLSpQooU2S3b17Fw8fPsTq1auxevXqXGPP6/cvKEdHx2zPzczPN0A8hx89egR3d3edYstNmTJl4O7ujurVq2s/7MtJmheXYGT26NEjFC1aNN/PgZweo7lz56Jfv37w8fGBv78/2rdvj759+6J8+fI6/Q5ERJaECQIiIjKonM5opqenw8/PDwsXLszxZ3x8fLJ8/+IZP1nmDwPWaPTo0Vi7dq22uJurqytUKhV69uxZ4DaAgYGB+PXXX3H27Flt/QFZ48aNtTUSIiMj4e3tbVIfol481uTH4L333st1Jomc/GjWrBn+/vtv/Pzzz9i9eze++uorLFq0CCtXrsSgQYNyvc+qVavi5MmTSE5OhoODQ477nDlzBnZ2dlkSWD169MCnn36Kf//9F87Ozvjll1/Qq1cv2NraZom9T58+uX5QfjF5oa/ZA7k93zJLT0+Hu7s7vv/++xyvzy35pwv5d583bx5q166d4z5ygim/z4GcHqPu3bujadOm2Lp1K3bv3o158+Zhzpw5CAsLQ7t27Qr8exARmSMmCIiIyOgqVKiA06dPo2XLllCpVK98eyVLloSTk1OO08P//PPPl/582bJltfvKZ3Az/7x8vT6VLVsWe/bsyTZF/dKlS1liApDrY7Rlyxb069cPCxYs0G57/vx5to4A+SHPCIiMjERUVFSWQnj+/v5wcHDAgQMHEBMTg/bt2+f79suWLYu9e/fiyZMnWWYR6PJ3yi85eWFnZ4dWrVq9dP9ixYqhf//+6N+/P548eYJmzZph2rRpeSYIOnbsiOjoaGzevDnHFpZXr17FoUOH0KpVqywfTnv06IHp06fjp59+goeHBxITE9GzZ0/t9SVLloSzszM0Go1OseeHPp5zFSpUwJ49e9CkSRO9JSYy3zYAuLi4vPR319dzwMvLCyNGjMCIESNw584d1K1bF59++ikTBERkdViDgIiIjK579+6Ii4vDl19+me26Z8+eaauL60qtViM4OBjbtm3D9evXtdsvXryIXbt2vfTn69WrB3d3d6xcuTJLm8Xff/8dFy9eRIcOHfIVjy7at28PjUajnbIvW7RoEVQqVZYPJoULF87xA49arc42i2LZsmXZ2tHlR7169eDo6Ijvv/8ecXFxWWYQODg4oG7dulixYgWSkpLyvbwAEL93WloavvjiC+02jUaDZcuWFTjm3Li7u6N58+ZYtWoVbt++ne36u3fvasf37t3Lcl2RIkVQsWLFbG03XzR06FC4u7vj/fffz7JGHxAfVPv37w9JkjBlypQs11WtWhV+fn7YuHEjNm7cCC8vLzRr1kx7vVqtRpcuXfDTTz/h3LlzecaeX3Jl/1dJJHXv3h0ajQYzZ87Mdl1aWtor3ba/vz8qVKiA+fPn48mTJ9muz/y7v+pzQKPRZFuK4O7uDm9v75f+7YmILBFnEBARkdG988472LRpE4YNG4b9+/ejSZMm0Gg0uHTpEjZt2oRdu3ahXr16+brN6dOnY+fOnWjatClGjBiBtLQ0LFu2DNWrV8eZM2fy/Fk7OzvMmTMH/fv3R1BQEHr16qVtc1iuXDmMGzfuVX7dHL3xxhto0aIFPvzwQ1y9ehW1atXC7t278fPPPyM0NDRLUUZ/f3/s2bMHCxcuhLe3N3x9fdGwYUN07NgR3377LVxdXVGtWjVER0djz549+Wo7+CJ7e3vUr18fhw4dgoODA/z9/bNc37hxY+3Z2oIkCN544w00adIEkyZNwtWrV1GtWjWEhYUVqGaCLlasWIHAwED4+flh8ODBKF++PBISEhAdHY2bN2/i9OnTAIBq1aqhefPm8Pf3R7FixXDs2DFt67u8FC9eHFu2bEGHDh1Qt25dDBo0CNWqVUN8fDzWrVuHK1euYMmSJVkSLbIePXpgypQpcHR0xMCBA2Fjk/W8zezZs7F//340bNgQgwcPRrVq1XD//n2cOHECe/bswf379wv0mDg5OaFatWrYuHEjXnvtNRQrVgw1atRAjRo1dL6NoKAgDB06FLNmzcKpU6fQpk0b2NnZ4fLly9i8eTOWLFmCrl27Fig+GxsbfPXVV2jXrh2qV6+O/v37o1SpUoiLi8P+/fvh4uKCX3/9FQBe+Tnw+PFjlC5dGl27dkWtWrVQpEgR7NmzB0ePHs0yK4GIyGoo1T6BiIgsS25tDqtXr57j/ikpKdKcOXOk6tWrSw4ODlLRokUlf39/afr06dKjR4+0+wHIsQVZ2bJls7X+i4iIkPz9/SV7e3upfPny0sqVK6WpU6e+tM2hbOPGjVKdOnUkBwcHqVixYtLbb78t3bx5M8s++mpzKEmS9PjxY2ncuHGSt7e3ZGdnJ1WqVEmaN29eltZukiRJly5dkpo1ayY5OTlJALS/94MHD6T+/ftLJUqUkIoUKSIFBwdLly5dyvbY6NrmUDZ58mQJgNS4ceNs14WFhUkAJGdn52zt4nRpcyhJknTv3j3pnXfekVxcXCRXV1fpnXfekU6ePPnKbQ7nzZuX4+/z999/S3379pU8PT0lOzs7qVSpUlLHjh2lLVu2aPf55JNPpAYNGkhubm6Sk5OTVKVKFenTTz+VUlJSXvJoZcQwePBgqUyZMpKdnZ1UokQJ6c0338zWyjOzy5cvSwAkAFJkZGSO+yQkJEgjR46UfHx8JDs7O8nT01Nq2bKltHr1au0+8uO+efNmnWKVJEk6fPiw9rmCTC0P+/XrJxUuXDjb/rk9j1avXi35+/tLTk5OkrOzs+Tn5ydNnDhRunXrls6xlC1bNscWkydPnpRCQkKk4sWLSw4ODlLZsmWl7t27S3v37tXuo+tzILdjKTk5WXr//felWrVqSc7OzlLhwoWlWrVqSZ9//rnO8RMRWRKVJFl5hSciIiIiIiIiYg0CIiIiIiIiImKCgIiIiIiIiIjABAERERERERERgQkCIiIiIiIiIgITBEREREREREQEJgiIiIiIiIiICICt0gFYk/T0dNy6dQvOzs5QqVRKh0NEREREREQWTpIkPH78GN7e3rCxyXuOABMERnTr1i34+PgoHQYRERERERFZmRs3bqB06dJ57sMEgRE5OzsDEH8YFxcXhaMhS5Samordu3ejTZs2sLOzUzocIr3hsU2WjMc3WTIe32TJzOX4TkxMhI+Pj/bzaF6YIDAieVmBi4sLEwRkEKmpqShUqBBcXFxM+kWKKL94bJMl4/FNlozHN1kyczu+dVnmziKFRERERERERMQEARERERERERExQUBEREREREREYIKAiIiIiIiIiMAEARERERERERGBCQIiIiIiIiIiAhMERERERERERAQmCIiIiIiIiIgITBAQEREREREREZggICIiIiIiIiIwQUBEREREREREYIKAiIiIiIiIiMAEAREREREREREBsFU6ACIiIiIyHRoNcOgQcPs24OUFNG0KqNVKR0VERMbABAERERERAQDCwoCxY4GbNzO2lS4NLFkChIQoFxcRERkHlxgQEREREcLCgK5dsyYHACAuTmwPC1MmLiIiMh4mCIiIiIisnEYjZg5IUvbr5G2hoWI/IiKyXEwQEBEREVm5Q4eyzxzITJKAGzfEfkREZLmYICAiIiKycrdv63c/IiIyT0wQEBEREVk5Ly/97kdEROaJCQIiIiIiK9e0qehWoFLlfL1KBfj4iP2IiMhyMUFAREREZOXUatHKMCdy0mDxYrEfERFZLiYIiIiIiAghIcAPP2Tf7u4ObNkiriciIsvGBAERERERAQCqVBGXhQsDNWuK8fvvMzlARGQtmCAgIiIiIgDA6dPi0t8fePttMT54ULl4iIjIuJggICIiIiIAwJkz4rJmTaB5czE+eBDQaBQLiYiIjIgJAiIiIiICkJEgqFULqFsXKFIEePgwYzsREVk2JgiIiIiICEDGEoOaNQFb24y2hhERysVERETGwwQBERERESEhAbhzR7Q1rF5dbJOXGRw4oFRURERkTEwQEBEREZF2GUGlSqKLAZC1DkF6uiJhERGRETFBQERERERZlhfI5DoEDx6wDgERkTVggoCIiIiIshQolNnaAoGBYsxlBkRElo8JAiIiIiLK0uIwM9YhICKyHkwQEBEREVm5lBTgwgUxzi1BwDoERESWjwkCIiIiIiv3559Aairg4gKULZv1OtYhICKyHkwQEBEREVm5zMsLVKqs19nZZdQhiIgwblxERGRcTBAQERERWbmcOhhkxjoERETWgQkCIiIiIiuXUweDzOQEQUQE6xAQEVkyJgiIiIiIrNzLZhBkrkNw9qzx4iIiIuNigoCIiIjIit25A8THi9oDNWrkvE/mOgRcZkBEZLmYICAiIiKyYvKMgAoVxCyB3AQFiUsmCIiILBcTBERERERW7GXLC2SsQ0BEZPmYICAiIiKyYplbHObF3x8oXJh1CIiILBkTBERERERW7GUdDGSsQ0BEZPmYICAiIiKyUqmpwPnzYvyyGQRA1mUGRERkeZggICIiIrJSf/0FpKQAzs5AuXIv3591CIiILJuiCYKDBw/ijTfegLe3N1QqFbZt25bl+rCwMLRp0wbFixeHSqXCqVOnst3G8+fPMXLkSBQvXhxFihRBly5dkJCQkGWf69evo0OHDihUqBDc3d3x/vvvIy0tLcs+Bw4cQN26deHg4ICKFSti3bp12e5rxYoVKFeuHBwdHdGwYUMcOXLkVR8CIiIiIsXIywv8/AAbHd4VynUI7t8Hzp0zbGxERGR8iiYIkpKSUKtWLaxYsSLX6wMDAzFnzpxcb2PcuHH49ddfsXnzZkRERODWrVsICQnRXq/RaNChQwekpKTg8OHDWL9+PdatW4cpU6Zo94mNjUWHDh3QokULnDp1CqGhoRg0aBB27dql3Wfjxo0YP348pk6dihMnTqBWrVoIDg7GnTt39PBIEBERERmfrh0MZKxDQERk2WyVvPN27dqhXbt2uV7/zjvvAACuXr2a4/WPHj3CmjVrsGHDBrz++usAgLVr16Jq1ar4448/0KhRI+zevRsXLlzAnj174OHhgdq1a2PmzJn44IMPMG3aNNjb22PlypXw9fXFggULAABVq1ZFZGQkFi1ahODgYADAwoULMXjwYPTv3x8AsHLlSvz222/4+uuvMWnSJH09JERERERGo2uBwsyCgoBdu0SCYMwYg4RFREQKUTRB8KqOHz+O1NRUtGrVSrutSpUqKFOmDKKjo9GoUSNER0fDz88PHh4e2n2Cg4MxfPhwnD9/HnXq1EF0dHSW25D3CQ0NBQCkpKTg+PHjmDx5svZ6GxsbtGrVCtHR0bnGl5ycjOTkZO33iYmJAIDU1FSkpqa+0u9OlBP5uOLxRZaGxzZZMiWP7zNnbAGoUK1aGlJTJZ1+JjBQBcAWERESkpPTdFqaQNaLr99kyczl+M5PfGadIIiPj4e9vT3c3NyybPfw8EB8fLx2n8zJAfl6+bq89klMTMSzZ8/w4MEDaDSaHPe5dOlSrvHNmjUL06dPz7Z99+7dKFSokG6/JFEBhIeHKx0CkUHw2CZLZuzjOzHRDnFx7QEAt27two4daS/5CSEtTQUHh/a4f98WK1dGoly5REOGSRaCr99kyUz9+H769KnO+5p1gsDUTZ48GePHj9d+n5iYCB8fH7Rp0wYuLi4KRkaWKjU1FeHh4WjdujXs7OyUDodIb3hskyVT6vg+cEAFAChfXkKXLm3y9bPNmtkgPBxIT2+G9u3ZzoByx9dvsmTmcnzLM9l1YdYJAk9PT6SkpODhw4dZZhEkJCTA09NTu8+L3QbkLgeZ93mx80FCQgJcXFzg5OQEtVoNtVqd4z7ybeTEwcEBDg4O2bbb2dmZ9AFE5o/HGFkqHttkyYx9fJ8/Ly5r1lTl+35btADCw4HISDXGjVMbIDqyNHz9Jktm6sd3fmIz61Vj/v7+sLOzw969e7Xb/vzzT1y/fh0BAQEAgICAAJw9ezZLt4Hw8HC4uLigWrVq2n0y34a8j3wb9vb28Pf3z7JPeno69u7dq92HiIiIyJzIBQp17WCQWfPm4jIiAkjnBAIiIouh6AyCJ0+e4MqVK9rvY2NjcerUKRQrVgxlypTB/fv3cf36ddy6dQuA+PAPiDP+np6ecHV1xcCBAzF+/HgUK1YMLi4uGD16NAICAtCoUSMAQJs2bVCtWjW88847mDt3LuLj4/HRRx9h5MiR2rP7w4YNw/LlyzFx4kQMGDAA+/btw6ZNm/Dbb79pYxs/fjz69euHevXqoUGDBli8eDGSkpK0XQ2IiIiIzElBOhjI6tUDChUC7t0TMxH8/PQbGxERKUPRGQTHjh1DnTp1UKdOHQDiQ3idOnUwZcoUAMAvv/yCOnXqoEOHDgCAnj17ok6dOli5cqX2NhYtWoSOHTuiS5cuaNasGTw9PREWFqa9Xq1WY/v27VCr1QgICECfPn3Qt29fzJgxQ7uPr68vfvvtN4SHh6NWrVpYsGABvvrqK22LQwDo0aMH5s+fjylTpqB27do4deoUdu7cma1wIREREZGpS0sDzp0T44LMILCzAwIDxfjAAb2FRUREClN0BkHz5s0hSbm31Hn33Xfx7rvv5nkbjo6OWLFiBVasWJHrPmXLlsWOHTteGsvJkyfz3GfUqFEYNWpUnvsQERERmbrLl4HkZKBwYaB8+YLdRvPmwO7dIkEwerQ+oyMiIqWYdQ0CIiIiIso/eXmBnx9gU8B3g0FB4pJ1CIiILAcTBERERERW5vRpcVmQ5QWyF+sQEBGR+WOCgIiIiMjKvEoHA5m9PdCkiRizDgERkWVggoCIiIjIyrxKB4PM5HaHTBAQEVkGJgiIiIiIrMj9+8CNG2L8qu0J5QTBwYOsQ0BEZAmYICAiIiKyImfPisty5QBX11e7LbkOwb//AhcuvHJoRESkMCYIiIiIiKyIPgoUyliHgIjIsjBBQERERGRF9FGgMDPWISAishxMEBARERFZEX0VKJTJCYKICNYhICIyd0wQEBEREVkJjQY4d06M9TWDoF49wMmJdQiIiCwBEwREREREVuLKFeDZM/GBvkIF/dwm6xAQEVkOJgiIiIiIrIS8vMDPD1Cr9Xe7rENARGQZmCAgIiIishL67GCQWeY6BJKk39smIiLjYYKAiIiIyErou4OBrH591iEgIrIETBAQERERWQl9dzCQsQ4BEZFlYIKAiIiIyAo8fAhcuybGfn76v33WISAiMn9MEBARERFZgbNnxaWPD1C0qP5vP3OCgHUIiIjMExMERERERFbAUMsLZKxDQERk/pggICIiIrIChupgILO3Bxo3FmMuMyAiMk9MEBARERFZAUPPIABYh4CIyNwxQUBERERk4TSajBoEhppBAGQkCCIiWIeAiMgcMUFAREREZOH++Qd4+hRwdAQqVjTc/ch1CO7eBS5eNNz9EBGRYTBBQERERGTh5OUFNWoAtraGux8HB9YhICIyZ0wQEBEREVk4QxcozIx1CIiIzBcTBEREREQWTp5BYOwEAesQEBGZFyYIiIiIiCycMToYyFiHgIjIfDFBQERERGTBEhOB2Fgx9vMz/P2xDgERkfligoCIiIjIgsntDUuVAooXN859BgWJSyYIiIjMCxMERERERBbMmMsLZHIdgogI1iEgIjInTBAQERERWTBjdjCQNWgAODoCd+4Aly4Z736JiOjVMEFAREREZMGM2cFAxjoERETmiQkCIiIiIguVnp5Rg8CYSwyArO0OiYjIPDBBQERERGShYmOBJ08Ae3vgtdeMe9+ZEwSsQ0BEZB6YICAiIiKyUPLygurVAVtb49436xAQEZkfJgiIiIiILJRcoNDYywsA1iEgIjJHTBAQERERWSglChRmFhQkLpkgICIyD0wQEBEREVkoOUGgxAwCgHUIiIjMDRMERERERBbo8WPg77/F2M9PmRhYh4CIyLwwQUBERERkgc6dE5deXkDJksrE4OgIBASIcUSEMjEQEZHumCAgIiIiskBKLy+QZV5mQEREpo0JAiIiIiILJHcwUKpAoYx1CIiIzAcTBEREREQWSOkOBjK5DkFCAvDnn8rGQkREeWOCgIiIiMjCSJLpLDHIXIeAywyIiEwbEwREREREFubqVdHFwM4OqFxZ6WhYh4CIyFwwQUBERERkYeTZA9WqiSSB0oKCxCXrEBARmTYmCIiIiIgsjKksL5A1bAg4OLAOARGRqWOCgIiIiMjCmEoHA1nmOgQREcrGQkREuWOCgIiIiMjCmEoHg8xYh4CIyPQxQUBERERkQZKSgCtXxNhUlhgAWRMErENARGSamCAgIiIisiDnzokP4B4egLu70tFkkOsQxMcDf/2ldDRERJQTJgiIiIiILIipFSiUZa5DwGUGRESmiQkCIiIiIgtiagUKM2MdAiIi08YEAREREZEFMcUChTLWISAiMm1MEBAR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\n",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 71%|████████████████████████████████▏            | 5/7 [00:02<00:00,  2.93it/s]15:54:18 - cmdstanpy - INFO - Chain [1] start processing\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Execution Output:\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "15:54:18 - cmdstanpy - INFO - Chain [1] done processing\n"
     ]
    },
    {
     "data": {
      "image/png": "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0r333quDBw/a9W/gwIGSpGuvvbbE03AzMjL0+OOPm6cuNGzYUC+99JIMwzDb2Gw2ZWRkaO7cuYWm/v722296+OGH1bBhQwUHB6ty5cq66667nF6voEOHDtq8ebPd58fq1avVtGlT3XTTTVq7dq3d78/q1atls9nUvn17SY6fA+zIZ8zlan3xOd0F11SYOnWq+fu3fft2SdLPP/+sO++8U5UqVVJQUJDatGmjzz//3O7xsrOzNW7cODVo0EBBQUGqXLmyOnTooJSUlMs+l5kzZyotLU0vvviiXeCWpODgYPN1Gz9+vKQLIddms2nu3LmFjrVo0SLZbDZ9+eWX5jZHfl/z6/7BBx9o9OjRuuqqqxQSEqL09PTL9v1KLvc7+uOPP6pTp04KCQlR/fr19dFHH0mSvv32W7Vt21bBwcFq2LChlixZUui4rv4MAsojRroBeIU///xTN910k/r37697771XsbGxysvL02233aZVq1bpwQcfVOPGjbV161ZNmTJFu3btKnTO5apVq/S///1PDz/8sMLCwvTyyy+rT58+2r9/vypXrixJ2rp1q7p3767o6Gg9++yzysnJ0dixYxUbG+tQPxcsWKCzZ8/qoYceUuXKlfX999/rlVde0e+//64FCxbYtc3NzVVCQoLatm2rl156SUuWLNGkSZNUr149PfTQQ5IkwzB0++23a9WqVRo2bJgaN26sTz75xPzj1xVycnKUkJCgDh066KWXXjJnEAwdOlRz5szR4MGD9eijj2rv3r169dVXtXnzZq1evdpudGvPnj268847lZiYqIEDB2rWrFkaNGiQ4uLi1LRpU0kXRtq7dOminJwcPfPMMwoNDdUbb7yh4ODgK/bx7NmzWrp0qW644QbVrFnT4ef2/vvv6/Tp0xo6dKhsNpsmTpyo3r1769dffzX7n5KSol9//VWDBw9WlSpVtG3bNr3xxhvatm2b1q5dW2gBvb59+6pOnTqaMGGCNm3apLfeeksxMTF64YUXzDaDBg3Shx9+qAEDBuj666/Xt99+q549exbq3+HDh3X99debXwpFR0frm2++UWJiotLT0zVixAiHn2u+7OxsHThwwHxPb9u2TR07dlR4eLieeuop+fv7a+bMmercubP5B/nlnDhxQj169FDv3r3Vt29fffTRR3r66afVvHlz3XTTTWrcuLHGjx9faEpsu3btlJWVpYSEBGVmZuqRRx5RlSpVdPDgQX355Zc6efKkIiIiLvm4+e+9a6+9VhMmTNDhw4c1bdo0rV69Wps3b1ZkZKT+8Y9/qGHDhnrjjTc0fvx41alTp1DQcpRhGLrtttu0fPlyJSYmqmXLllq0aJGefPJJHTx4UFOmTJF0YZr6Aw88oOuuu04PPvigJJmPuX79eq1Zs0b9+/dX9erVtW/fPr3++uvq3Lmztm/fXuzZOR06dNA777yjdevWqXPnzpIuBOt27dqpXbt2OnXqlH766Sddc8015r5GjRqZr72jz9uRzxhnaj179mydP39eDz74oLn+wrZt29S+fXtdddVV5ufAhx9+qF69eunjjz82p9I/++yzmjBhglnr9PR0bdiwQZs2bdL//d//XfIxv/jiCwUFBalv375F7q9Tp446dOigZcuW6dy5c2rTpo3q1q2rDz/8sNBznj9/vipWrKiEhARJxf99fe655xQQEKAnnnhCmZmZlo3ynzhxQrfccov69++vu+66S6+//rr69++v9957TyNGjNCwYcP0t7/9TS+++KLuvPNOHThwwPzi0orPIKBcMgCgDBk+fLhx8UdXp06dDEnGjBkz7La/8847ho+Pj7Fy5Uq77TNmzDAkGatXrza3STICAgKMPXv2mNt++OEHQ5LxyiuvmNt69eplBAUFGb/99pu5bfv27Yavr2+hfhXl7NmzhbZNmDDBsNlsdsccOHCgIckYP368XdtWrVoZcXFx5u1PP/3UkGRMnDjR3JaTk2N07NjRkGTMnj37in3K9+KLLxqSjL179xbqxzPPPGPXduXKlYYk47333rPbvnDhwkLba9WqZUgyvvvuO3PbkSNHjMDAQOPxxx83t40YMcKQZKxbt86uXURERKF+XSz/tXrssccceq579+41JBmVK1c2jh8/bm7/7LPPDEnGF198YW4r6jX773//W+g5jR071pBk3H///XZt77jjDqNy5crm7Y0bNxqSjBEjRti1GzRokCHJGDt2rLktMTHRqFq1qnHs2DG7tv379zciIiKK7FtBtWrVMrp3724cPXrUOHr0qPHDDz8Y/fv3NyQZjzzyiGEYF97TAQEBxi+//GLe79ChQ0ZYWJhxww03mNuWL19uSDKWL19ubsv/3Zs3b565LTMz06hSpYrRp08fc9v69euLfD9u3rzZkGQsWLDgss/j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w7R8+XK1b99eubm5+vnnn/Xhhx9q0aJFatOmTbGOOW7cOC1cuFAdO3bUww8/rJycHL3yyitq2rTpFc8nbNSokerVq6cnnnhCBw8eVHh4uD7++GOHzn29lFtvvVXt27fXM888o3379qlJkyb63//+59T5ocXRqVMnDR06VBMmTNCWLVvUvXt3+fv7a/fu3VqwYIGmTZumO++8s1jHfOqpp/TOO++oR48eeuyxx8xLhtWqVcuhczXbtWun6dOn6+GHH1ajRo00YMAANWjQQKdPn9aKFSv0+eefX3Lk9FLCw8N1ww03aOLEicrOztZVV12lxYsX213jurji4uLUp08fTZ06VX/++ad5ybBdu3ZJsh8l/c9//qPly5erbdu2GjJkiJo0aaLjx49r06ZNWrJkiY4fP+50P/I9//zzSklJUYcOHfTwww/Lz89PM2fOVGZmpt31tkuiXr16ioyM1IwZMxQWFqbQ0FC1bdtWP/zwg5KSknTXXXfp6quvVk5Ojt555x3zj/1L8ff31wsvvKDBgwerU6dOuvvuu81LhtWuXVsjR450Sb8LuvXWW9WlSxf94x//0L59+9SiRQstXrxYn332mUaMGGG3CGNcXJyWLFmiyZMnq1q1aqpTp47atm2rW265Re+8844iIiLUpEkTpaamasmSJcW6hNfFAgICdO2112rlypUKDAxUXFyc3f527dqZI+vOhO7S/oyZPn26OnTooObNm2vIkCGqW7euDh8+rNTUVP3+++/64YcfJF1YnLFz586Ki4tTpUqVtGHDBn300UdKSkq67PErV66sjz76SD179lTr1q31wAMPqEmTJkpLS9OcOXO0Z88eTZs2ze7Li3z9+vXTmDFjFBQUpMTExEKn3ZTG72tp88bnBLgDoRuA1/Lx8dGnn36qKVOmaN68efrkk08UEhKiunXr6rHHHjMXVCuOa665RosWLVJycrLGjBmj6tWra9y4cfrjjz+uGAz9/f31xRdfmOesBgUF6Y477lBSUpJatGjh9HP8/PPPNWLECL377ruy2Wy67bbbNGnSJLVq1cqpYzpqxowZiouL08yZM/X3v/9dfn5+ql27tu699161b9++2MerWrWqli9frkceeUT/+c9/VLlyZQ0bNkzVqlVTYmKiQ8cYOnSorr32Wk2aNEnz5s3T0aNHVaFCBbVu3VqzZ88ucjrplbz//vt65JFHNH36dBmGoe7du+ubb75RtWrVin2sfPPmzVOVKlX03//+V5988om6deum+fPnq2HDhnarccfGxur777/X+PHj9b///U+vvfaaKleurKZNm9pd97skmjZtqpUrV2rUqFGaMGGC8vLy1LZtW7377rtXvEa3o/z9/TV37lyNGjVKw4YNU05OjmbPnq1OnTopISFBX3zxhQ4ePKiQkBC1aNFC33zzjblC/KUMGjRIISEh+s9//qOnn35aoaGhuuOOO/TCCy8oMjLSJf0uKP93bcyYMZo/f75mz56t2rVr68UXX9Tjjz9u13by5Ml68MEHNXr0aJ07d04DBw5U27ZtNW3aNPn6+uq9997T+fPn1b59ey1ZssThqx9cSocOHbRy5UpzOnlB7du316RJkxQWFubU50xpf8Y0adJEGzZs0Lhx4zRnzhz9+eefiomJUatWrexGnx999FF9/vnnWrx4sTIzM1WrVi09//zzevLJJ6/4GB07dtSPP/6of//731qwYIH++OMPRUREqF27dpo1a9Ylv5zo16+fRo8erbNnz5qrlhdUGr+vpc0bnxPgDjbDVavYAAAAp23ZskWtWrXSu+++69Bl0gAAQNnAOd0AAJSyc+fOFdo2depU+fj42J0nCgAAyj6mlwMAUMomTpyojRs3qkuXLvLz89M333yjb775Rg8++KDLVl4HAACegenlAACUspSUFI0bN07bt2/XmTNnVLNmTQ0YMED/+Mc/zOv+AgAA70DoBgAAAADAIpzTDQAAAACARQjdAAAAAABYhBPHPFheXp4OHTqksLAw2Ww2d3cHAAAAAPD/GYah06dPq1q1avLxufR4NqHbgx06dIhVbAEAAADAgx04cEDVq1e/5H5CtwcLCwuTdOFFDA8PV3Z2to4dO6aoqCj5+/u7uXfeh/pajxpbjxpbi/pajxpbi/pajxpbi/pajxo7Lj09XTVq1DBz26UQuj1Y/pTy8PBwM3RnZmYqPDycXwALUF/rUWPrUWNrUV/rUWNrUV/rUWNrUV/rUePiu9KpwCykBgAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAA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zTZHjhyxO0ZOTo6OHz9+xccp+BhFCQwMLPKF8/f3N9/wfn5+drfdpeC3XjYfW7H74+9f8P4+bn8++Tylvt6MGluPGluL+lqPGluL+lqPGluL+lqPGjvG0fq4dSG16OhoNWrU6LI/AQEBevnll/XDDz9oy5Yt2rJli3mZr/nz5+tf//qXJCk+Pl7fffed3bz6lJQUNWzY0JzOHR8fr6VLl9r1ISUlRfHx8ZKkOnXqqEqVKnZt0tPTtW7dOrNNfHy8Tp48qY0bN5ptli1bpry8PLVt29bhvpR1NheuOe7KYwEAAACAJykTq5fXrFlTzZo1M3+uvvpqSVK9evVUvXp1SdLf/vY3BQQEKDExUdu2bdP8+fM1bdo0u+najz32mBYuXKhJkybp559/1rPPPqsNGzYoKSlJ0oVVuEeMGKHnn39en3/+ubZu3ar77rtP1apVU69evSRJjRs3Vo8ePTRkyBB9//33Wr16tZKSktS/f3/zUmaO9KWsK7hguTORmZgNAAAAoDzwmjPjIyIitHjxYg0fPlxxcXGKiorSmDFj7K6f3a5dO73//vsaPXq0/v73v6tBgwb69NNP1axZM7PNU089pYyMDD344IM6efKkOnTooIULFyooKMhs89577ykpKUk33nijfHx81KdPH7388svF6gv+whXHAAAAAHirMhm6a9euLcMwCm2/5pprtHLlysve96677tJdd911yf02m03jx4/X+PHjL9mmUqVKev/99y/7OI70pSwrmJOduU43QRsAAABAeVAmppfDu5G/AQAAAHgrQjecUvJzuonaAAAAALwfoRvuR/4GAAAA4KUI3XBKwZFqp0a6CdoAAAAAygFCN5ziytDMVHMAAAAA3orQjZJzIjMz0g0AAACgPCB0wykuHekmgAMAAADwUoRulJgz08OZUg4AAACgPCB0wymuDM3EbwAAAADeitCNEnNmejhTygEAAACUB4RuOIVzugEAAADgygjdcAtyNgAAAIDygNANp9gu8W8AAAAAwF8I3XCKrYRzwgven5XMAQAAAHgrQjdKjHOyAQAAAKBohG44paQ52256OqEdAAAAgJcidMMtCNoAAAAAygNCN5zi0kuGue5QAAAAAOBRCN0oMWcWVSNoAwAAACgPCN1wiktDMwkcAAAAgJcidKPEnMnMJb3kGAAAAACUBYRuOMWVoZnrdAMA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t//w4cMaNGiQqlWrppCQEPXo0UO7d+8udJzU1FR17dpVoaGhCg8P1w033KBz586Z+3ft2qXbb79dUVFRCg8PV4cOHbR8+XKrn57blbS++/btk81mK/JnwYIFkqQ///xTPXr0ULVq1RQYGKgaNWooKSlJ6enppflU3aY0aixJ69ev14033qjIyEhVrFhRCQkJ+uGHH0rrabqNKz4j0tLSNGDAAFWpUkWhoaFq3bq1Pv74Y7s2t912m2rWrKmgoCBVrVpVAwYM0KFDh6x+eh6htGpcXj+HJdfU+JdfftEdd9yh6OhohYeHq2/fvjp8+LBdm/L6Pi6t+pbX9/CECRN07bXXKiwsTDExMerVq5d27txp1+b8+fMaPny4KleurAoVKqhPnz6F6rd//3717NlTISEhiomJ0ZNPPqmcnBxz/6pVq9S+fXtVrlxZwcHBatSokaZMmVIqz9HdSqvGkvTee++pRYsWCgkJUdWqVXX//ffrzz//tPw5upOr6vvoo48qLi5OgYGBatmyZaHH2blzp7p06aLY2FgFBQWpbt26Gj16tLKzs618emUSobuUZWRkqEWLFpo+fXqhfYZhqFevXvr111/12WefafPmzapVq5a6deumjIwMs11qaqp69Oih7t276/vvv9f69euVlJQkH5+/Xs5bbrlFOTk5WrZsmTZu3KgWLVrolltuUVpaWqk8T3cpaX1r1KihP/74w+5n3LhxqlChgm666SZJko+Pj26//XZ9/vnn2rVrl+bMmaMlS5Zo2LBhpfpc3aU0anzmzBn16NFDNWvW1Lp167Rq1SqFhYUpISHB6z/IXfEZcd9992nnzp36/PPPtXXrVvXu3Vt9+/bV5s2bzTZdunTRhx9+qJ07d+rjjz/WL7/8ojvvvLNUnqO7lVaNy+vnsFTyGmdkZKh79+6y2WxatmyZVq9eraysLN16663Ky8szj1Ve38elVd/y+h7+9ttvNXz4cK1du1YpKSnKzs5W9+7d7T4DRo4cqS+++EILFizQt99+q0OHDql3797m/tzcXPXs2VNZWVlas2aN5s6dqzlz5mjMmDFmm9DQUCUlJem7777Tjh07NHr0aI0ePVpvvPFGqT5fdyitGq9evVr33XefEhMTtW3bNi1YsEDff/+9hgwZUqrPt7S5or757r//fvXr16/Ix/H399d9992nxYsXa+fOnZo6darefPNNjR071rLnVmYZcBtJxieffGLe3rlzpyHJ+Omnn8xtubm5RnR0tPHmm2+a29q2bWuMHj36ksc9evSoIcn47rvvzG3p6emGJCMlJcW1T8KDOVvfi7Vs2dK4//77L/tY06ZNM6pXr17iPpc1VtV4/fr1hiRj//795rYff/zRkGTs3r3btU/Cgzlb39DQUGPevHl2x6pUqdJlX4PPPvvMsNlsRlZWluueQBlgVY35HP6LMzVetGiR4ePjY5w6dcpsc/LkScNms122fuXxfWxVfXkP/+XIkSOGJOPbb781DONCrfz9/Y0FCxaYbXbs2GFIMlJTUw3DMIyvv/7a8PHxMdLS0sw2r7/+uhEeHm5kZmZe8rHuuOMO495777XomXguq2r84osvGnXr1rV7rJdfftm46qqrrH5KHsWZ+hY0duxYo0WLFg491siRI40OHTq4pN/ehJFuD5KZmSlJCgoKMrf5+PgoMDBQq1atkiQdOXJE69atU0xMjNq1a6fY2Fh16tTJ3C9JlStXVsOGDTVv3jxlZGQoJydHM2fOVExMjOLi4kr3SXkQR+p7sY0bN2rLli1KTEy85HEPHTqk//3vf+rUqZNrO1wGuarGDRs2VOXKlfX2228rKytL586d09tvv63GjRurdu3alj4HT+Zofdu1a6f58+fr+PHjysvL0wcffKDz58+rc+fORR73+PHjeu+999SuXTv5+/tb+hw8natqzOfwpTlS48zMTNlsNgUGBpptgoKC5OPjc8nPEt7HF7iqvryH/3Lq1ClJUqVKlSRd+P9Wdna2unXrZrZp1KiRatasqdTUVEkXZiU2b95csbGxZpuEhASlp6dr27ZtRT7O5s2btWbNmnL594RVNY6Pj9eBAwf09ddfyzAMHT58WB999JFuvvnm0npqHsGZ+jpjz549WrhwYbl8D18JoduD5L/ZR40apRMnTigrK0svvPCCfv/9d/3xxx+SpF9//VWS9Oyzz2rIkCFauHChWrdurRtvvNE8X8tms2nJkiXavHmzwsLCFBQUpMmTJ2vhwoWqWLGi256fuzlS34vlB7127doV2nf33XcrJCREV111lcLDw/XWW29Z/RQ8nqtqHBYWphUrVujdd99VcHCwKlSooIULF+qbb76Rn59faT0dj+NofT/88ENlZ2ercuXKCgwM1NChQ/XJJ5+ofv36dsd7+umnFRoaqsqVK2v//v367LPPSvspeRxX1ZjP4UtzpMbXX3+9QkND9fTTT+vs2bPKyMjQE088odzc3EKfJbyP7bmqvryHL8jLy9OIESPUvn17NWvWTNKFNR0CAgIUGRlp1zY2Ntacep+WlmYXBvP35+8rqHr16goMDFSbNm00fPhwPfDAAxY9G89kZY3bt2+v9957T/369VNAQICqVKmiiIiIIk/N8FbO1rc42rVrp6CgIDVo0EAdO3bU+PHjXdF1r0Lo9iD+/v763//+p127dqlSpUoKCQnR8uXLddNNN5nna+efazV06FANHjxYrVq10pQpU9SwYUPNmjVL0oXzuYYPH66YmBitXLlS33//vXr16qVbb731ksGnPHCkvgWdO3dO77///iVHuadMmaJNmzbps88+0y+//KLk5GSrn4LHc1WNz507p8TERLVv315r167V6tWr1axZM/Xs2dNuwcDyxtH6/vOf/9TJkye1ZMkSbdiwQcnJyerbt6+2bt1qd7wnn3xSmzdv1uLFi+Xr66v77rtPhmGU9tPyKK6qMZ/Dl+ZIjaOjo7VgwQJ98cUXqlChgiIiInTy5Em1bt260GcJ72N7rqov7+ELhg8frp9++kkffPCBZY+xcuVKbdiwQTNmzNDUqVP13//+17LH8kRW1nj79u167LHHNGbMGG3cuFELFy7Uvn37ys06PFLpvIfnz5+vTZs26f3339dXX32ll156ybLHKrPcObe9vNNF52EVdPLkSePIkSOGYRjGddddZzz88MOGYRjGr7/+akgy3nnnHbv2ffv2Nf72t78ZhmEYS5YsKXSulmEYRv369Y0JEya4+Fl4LmfqW9C8efMMf39/s93lrFy50pBkHDp0qER9LmusqvFbb71lxMTEGLm5uea2zMxMIyQkxPjvf//ruifg4Zyp7549ewqdz2kYhnHjjTcaQ4cOveRjHThwwJBkrFmzxjWdLyOsqjGfw38p6efE0aNHjRMnThiGYRixsbHGxIkTL/lY5fF9bFV9eQ8bxvDhw43q1asbv/76q932pUuXGpLMuuWrWbOmMXnyZMMwDOOf//xnoXNg8/+G27Rp0yUf87nnnjOuvvpql/S/LLC6xvfee69x55132rUpT3+zlaS+BRXnnO533nnHCA4ONnJycpzttldipNtDRUREKDo6Wrt379aGDRt0++23S5Jq166tatWqFVr2f9euXapVq5Yk6ezZs5JUaDTAx8fHblXS8uxS9S3o7bff1m233abo6OgrHi+/rvnn0qFkNT579qx8fHxks9nMbfm3eQ9fcKn6Xur339fX97K14z1cWElqzOewYxz5nIiKilJkZKSWLVumI0eO6Lbbbrvk8Xgf2ytJfcvze9gwDCUlJemTTz7RsmXLVKdOHbv9cXFx8vf319KlS81tO3fu1P79+xUfHy/pwrnEW7du1ZEjR8w2KSkpCg8PV5MmTS752Hl5eeXi/VtaNc7/e6IgX19fsw/eyhX1dVZeXp6ys7O9/nOi2Nyb+cuf06dPG5s3bzY2b95sSDImT55sbN682fjtt98MwzCMDz/80Fi+fLnxyy+/GJ9++qlRq1Yto3fv3nbHmDJlihEeHm4sWLDA2L17tzF69GgjKCjI2LNnj2EYF761rly5stG7d29jy5Ytxs6dO40nnnjC8Pf3N7Zs2VLqz7k0uaK+hmEYu3fvNmw2m/HNN98U2vfVV18Zs2bNMrZu3Wrs3bvX+PLLL43GjRsb7du3t/z5eYLSqPGOHTuMwMBA46GHHjK2b99u/PTTT8a9995rREREeP030yWtb1ZWllG/fn2jY8eOxrp164w9e/YYL730kmGz2YyvvvrKMAzDWLt2rfHKK68YmzdvNvbt22csXbrUaNeunVGvXj3j/Pnzbnnepak0alyeP4cNwzWfE7NmzTJSU1ONPXv2GO+8845RqVIlIzk52dxfnt/HpVHf8vwefuihh4yIiAhjxYoVxh9//GH+nD171mwzbNgwo2bNmsayZcuMDRs2GPHx8UZ8fLy5Pycnx2jWrJnRvXt3Y8uWLcbChQuN6OhoY9SoUWabV1991fj888+NXbt2Gbt27TLeeustIywszPjHP/5Rqs/XHUqrxrNnzzb8/PyM1157zfjll1+MVatWGW3atDGuu+66Un2+pc0V9TWMC3+rbd682Rg6dKhx9dVXm587+avDv/vuu8b8+fON7du3G7/88osxf/58o1q1asY999xTqs+3LCB0l7Lly5cbkgr9DBw40DCMvy495e/vb9SsWdMYPXp0kZeWmDBhglG9enUjJCTEiI+PN1auXGm3f/369Ub37t2NSpUqGWFhYcb1119vfP3116XxFN3KVfUdNWqUUaNGDbvpzfmWLVtmxMfHGxEREUZQUJDRoEED4+mnny40RcdblUaNDcMwFi9ebLRv396IiIgwKlasaHTt2rXIy1h4G1fUd9euXUbv3r2NmJgYIyQkxLjmmmvsLm/1448/Gl26dDEqVapkBAYGGrVr1zaGDRtm/P7776X5VN2mNGpsGOX3c9gwXFPjp59+2oiNjTX8/f2NBg0aGJMmTTLy8vLM/eX5fVwa9TWM8vseLqq2kozZs2ebbc6dO2c8/PDDRsWKFY2QkBDjjjvuMP744w+74+zbt8+46aabjODgYCMqKsp4/PHHjezsbHP/yy+/bDRt2tQICQkxwsPDjVatWhmvvfbaJf+/6E1Kq8aGcaHOTZo0MYKDg42qVasa99xzj9d/Triqvp06dSryOHv37jUMwzA++OADo3Xr1kaFChWM0NBQo0mTJsa///1v49y5c6X4bMsGm2F48dwKAAAAAADciHO6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAECxGIahbt26KSEhodC+1157TZGRkfr999/d0DMAADwPoRsAABSLzWbT7NmztW7dOs2cOdPcvnfvXj311FN65ZVXVL16dZc+ZnZ2tkuPBwBAaSF0AwCAYqtRo4amTZumJ554Qnv37pVhGEpMTFT37t3VqlUr3XTTTapQoYJiY2M1YMAAHTt2zLzvwoUL1aFDB0VGRqpy5cq65ZZb9Msvv5j79+3bJ5vNpvnz56tTp04KCgrSe++9546nCQBAidkMwzDc3QkAAFA29erVS6dOnVLv3r313HPPadu2bWratKkeeOAB3XfffTp37pyefvpp5eTkaNmyZZKkjz/+WDabTddcc43OnDmjMWPGaN++fdqyZYt8fHy0b98+1alTR7Vr19akSZPUqlUrBQUFqWrVqm5+tgAAFB+hGwAAOO3IkSNq2rSpjh8/ro8//lg//fSTVq5cqUWLFpltfv/9d9WoUUM7d+7U1VdfXegYx44dU3R0tLZu3apmzZqZoXvq1Kl67LHHSvPpAADgckwvBwAATouJidHQoUPVuHFj9erVSz/88IOWL1+uChUqmD+NGjWSJHMK+e7du3X33Xerbt26Cg8PV+3atSVJ+/fvtzt2mzZtSvW5AABgBT93dwAAAJRtfn5+8vO78CfFmTNndOutt+qFF14o1C5/evitt96qWrVq6c0331S1atWUl5enZs2aKSsry659aGio9Z0HAMBihG4AAOAyrVu31scff6zatWubQbygP//8Uzt37tSbb76pjh07SpJWrVpV2t0EAKDUML0cAAC4zPDhw3X8+HHdfffdWr9+vX755RctWrRIgwcPVm5uripWrKjKlSvrjTfe0J49e7Rs2TIlJye7u9sAAFiG0A0AAFymWrVqWr16tXJzc9W9e3c1b95cI0aMUGRkpHx8fOTj46MPPvhAGzduVLNmzTRy5Ei9+OKL7u42AACWYfVyAAAAAAAswkg3AAAAAAAWIXQDAAAAAGARQjcAAAAAABYhdAMAAAAAYBFCNwAAAAAAFiF0AwAAAABgEUI3AAAAAAAWIXQDAAAAAGARQjcAAAAAABYhdAMAAAAAYBFCNwAAAAAAFiF0AwAAAABgkf8HvCJlWfsgyroAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "15:54:19 - cmdstanpy - INFO - Chain [1] start processing\n",
      "15:54:19 - cmdstanpy - INFO - Chain [1] done processing\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Execution Output:\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJkCAYAAAAMfEKPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB/iklEQVR4nO3dd3xUVf7/8fekJ5ACpADSixRBSlAMRYp8CYoFQYFdRcCIoESFWFlZmu6yojQVBQtNcUV07QqEppSASFF6URAFQ5ESDJB6f3/wyzVDQphM5mYmk9fz8chD5t4zd858ZjLmPefcc22GYRgCAAAAAAAu5+PuDgAAAAAA4K0I3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAOAC48aNk81mc3c3TAcPHpTNZtPcuXPd3ZUSmzt3rmw2mw4ePOiyY+bV56WXXnLZMb3dqlWrZLPZtGrVKnd3pdgWL16sli1bKigoSDabTadPn3Z3l4pUWrUu7HEGDRqkOnXqXPG+l/uMKazWjh4TJVOWf0cBb0foBuDRbDabQz/8kVF8derUcai2ZS24b926Vffee69q1qypwMBAVa5cWd26ddOcOXOUk5Pj7u6Vqktf4+joaHXs2FEff/xxqfbjyJEjGjdunLZu3VqqjytJf/zxh/r27avg4GDNmDFD77zzjipUqFCgnSs/a/7973/rk08+cf2TyeeDDz6QzWYr9LVs0aKFbDabVq5cWWBfrVq11K5dO0v65GitPcGhQ4c0bNgw1alTR4GBgYqOjlavXr20du1ad3fNzqBBgxx6Xw4aNMjdXQVQBD93dwAAivLOO+/Y3Z4/f76Sk5MLbG/SpElpdssrTJs2TX/++ad5+6uvvtJ///tfTZ06VZGRkeZ2q/5At8Jbb72lYcOGKSYmRgMGDFDDhg119uxZLV++XAkJCfr999/1j3/8w93dLFUtW7bU448/Luli+J01a5Z69+6t119/XcOGDXP4ODfeeKPOnz+vgICAYvfhyJEjGj9+vOrUqaOWLVsW+/4lsXHjRp09e1bPPfecunXrdtl2rvys+fe//6277rpLvXr1cqrPjujQoYMkac2aNbrzzjvN7Wlpadq+fbv8/Py0du1adenSxdz366+/6tdff1X//v0llew1Lczlav3mm28qNzfXJY/hCmvXrtUtt9wiSXrggQfUtGlTpaamau7cuerYsaOmT5+uRx55xM29vGjo0KF2tTxw4IDGjBmjBx98UB07djS3169fX23btnXp6wnAdQjdADzavffea3d7/fr1Sk5OLrD9UufOnVNISIiVXSvzLg0Eqamp+u9//6tevXoVORU0PT3dI0ev1q9fr2HDhikuLk5fffWVQkNDzX0jRozQ999/r+3bt7uxh+5x1VVX2f2+3HfffWrQoIGmTp1arNDt4+OjoKAgK7poqWPHjkmSIiIiimzn7GeNu1SvXl1169bVmjVr7LanpKTIMAzdfffdBfbl3c4L7K5+TS9Xa39//yveNzs7W7m5uZYHxlOnTumuu+5ScHCw1q5dq/r165v7kpKSFB8frxEjRig2NrZUv3C8cOGCAgIC5ONjPwk1Li5OcXFx5u3vv/9eY8aMUVxcXKHvzbL4OwqUB0wvB1Dmde7cWc2aNdOmTZt04403KiQkxBzNzMjI0NixY9WgQQMFBgaqZs2aeuqpp5SRkWF3DJvNpsTERH3yySdq1qyZAgMDdc0112jx4sUFHm/NmjW67rrrFBQUpPr162vWrFkO93X16tW6++67VatWLbM/I0eO1Pnz5+3aDRo0SBUrVtThw4fVq1cvVaxYUVFRUXriiScKTJHOO2cyPDxcERERGjhwoMvOWc3rx08//aRbbrlFoaGhuueeeyRJubm5mjZtmq655hoFBQUpJiZGQ4cO1alTp+yOUadOHd16661as2aNrr/+egUFBalevXqaP39+gcfbsWOHunbtquDgYNWoUUPPP/+8wyNk48ePl81m04IFC+wCd542bdoUOgXzjTfeUP369RUYGKjrrrtOGzdutNv/448/atCgQapXr56CgoJUtWpV3X///frjjz/s2uWd179//34NGjRIERERCg8P1+DBg3Xu3Dm7tufPn9ejjz6qyMhIhYaG6vbbb9fhw4dls9k0btw4u7aHDx/W/fffr5iYGPN9OXv2bIdqUpiqVauqSZMmOnDggLlty5YtuvnmmxUWFqaKFSvqpptu0vr16+3uV9j5onm/ezt37lSXLl0UEhKiq666SpMmTbK733XXXSdJGjx4cIHTFvbt26c+ffqoatWqCgoKUo0aNdS/f3+dOXPmis9l0aJFio2NVXBwsCIjI3Xvvffq8OHDdv0bOHCgJOm6664r8TTc9PR0Pf744+apC40aNdJLL70kwzDMNjabTenp6Zo3b16Bqb+//PKLHn74YTVq1EjBwcGqUqWK7r77bqfXK+jQoYO2bNli9/mxdu1aXXPNNbr55pu1fv16u9+ftWvXymazqX379pIcPwfYkc+Yomp96Tnd+ddUmDZtmvn7t3PnTknS7t27ddddd6ly5coKCgpSmzZt9Nlnn9k9XlZWlsaPH6+GDRsqKChIVapUUYcOHZScnFzkc5k1a5ZSU1P14osv2gVuSQoODjZftwkTJki6GHJtNpvmzZtX4FhLliyRzWbTF198YW5z5Pc1r+7vv/++Ro8erauuukohISFKS0srsu9XUtTv6I8//qhOnTopJCREDRo00IcffihJ+uabb9S2bVsFBwerUaNGWrZsWYHjuvozCCiPGOkG4BX++OMP3Xzzzerfv7/uvfdexcTEKDc3V7fffrvWrFmjBx98UE2aNNG2bds0depU7d27t8A5l2vWrNH//vc/PfzwwwoNDdXLL7+sPn366NChQ6pSpYokadu2berevbuioqI0btw4ZWdna+zYsYqJiXGon4sWLdK5c+f00EMPqUqVKvruu+/0yiuv6LffftOiRYvs2ubk5Cg+Pl5t27bVSy+9pGXLlmny5MmqX7++HnroIUmSYRi64447tGbNGg0bNkxNmjTRxx9/bP7x6wrZ2dmKj49Xhw4d9NJLL5kzCIYOHaq5c+dq8ODBevTRR3XgwAG9+uqr2rJli9auXWs3urV//37dddddSkhI0MCBAzV79mwNGjRIsbGxuuaaayRdHGnv0qWLsrOz9cwzz6hChQp64403FBwcfMU+njt3TsuXL9eNN96oWrVqOfzc3nvvPZ09e1ZDhw6VzWbTpEmT1Lt3b/38889m/5OTk/Xzzz9r8ODBqlq1qnbs2KE33nhDO3bs0Pr16wssoNe3b1/VrVtXEydO1ObNm/XWW28pOjpaL7zwgtlm0KBB+uCDDzRgwADdcMMN+uabb9SzZ88C/Tt69KhuuOEG80uhqKgoff3110pISFBaWppGjBjh8HPNk5WVpV9//dV8T+/YsUMdO3ZUWFiYnnrqKfn7+2vWrFnq3Lmz+Qd5UU6dOqUePXqod+/e6tu3rz788EM9/fTTat68uW6++WY1adJEEyZMKDAltl27dsrMzFR8fLwyMjL0yCOPqGrVqjp8+LC++OILnT59WuHh4Zd93Lz33nXXXaeJEyfq6NGjmj59utauXastW7YoIiJCzz77rBo1aqQ33nhDEyZMUN26dQsELUcZhqHbb79dK1euVEJCglq2bKklS5boySef1OHDhzV16lRJF6epP/DAA7r++uv14IMPSpL5mBs3btS6devUv39/1ahRQwcPHtTrr7+uzp07a+fOncWendOhQwe988472rBhgzp37izpYrBu166d2rVrpzNnzmj79u269tprzX2NGzc2X3tHn7cjnzHO1HrOnDm6cOGCHnzwQXP9hR07dqh9+/a66qqrzM+BDz74QL169dJHH31kTqUfN26cJk6caNY6LS1N33//vTZv3qz/+7//u+xjfv755woKClLfvn0L3V+3bl116NBBK1as0Pnz59WmTRvVq1dPH3zwQYHnvHDhQlWqVEnx8fGSiv/7+txzzykgIEBPPPGEMjIyLBvlP3XqlG699Vb1799fd999t15//XX1799fCxYs0IgRIzRs2DD9/e9/14svvqi77rpLv/76q/nFpRWfQUC5ZABAGTJ8+HDj0o+uTp06GZKMmTNn2m1/5513DB8fH2P16tV222fOnGlIMtauXWtuk2QEBAQY+/fvN7f98MMPhiTjlVdeMbf16tXLCAoKMn755Rdz286dOw1fX98C/SrMuXPnCmybOHGiYbPZ7I45cOBAQ5IxYcIEu7atWrUyYmNjzduffPKJIcmYNGmSuS07O9vo2LGjIcmYM2fOFfuU58UXXzQkGQcOHCjQj2eeecau7erVqw1JxoIFC+y2L168uMD22rVrG5KMb7/91tx27NgxIzAw0Hj88cfNbSNGjDAkGRs2bLBrFx4eXqBfl8p7rR577DGHnuuBAwcMSUaVKlWMkydPmts//fRTQ5Lx+eefm9sKe83++9//FnhOY8eONSQZ999/v13bO++806hSpYp5e9OmTYYkY8SIEXbtBg0aZEgyxo4da25LSEgwqlWrZpw4ccKubf/+/Y3w8PBC+5Zf7dq1je7duxvHjx83jh8/bvzwww9G//79DUnGI488YhjGxfd0QECA8dNPP5n3O3LkiBEaGmrceOON5raVK1cakoyVK1ea2/J+9+bPn29uy8jIMKpWrWr06dPH3LZx48ZC349btmwxJBmLFi0q8nlcKjMz04iOjjaaNWtmnD9/3tz+xRdfGJKMMWPGmNvmzJljSDI2btxYrMe49LMm73ft+eeft2t31113GTabze6zo0KFCsbAgQMLHLOw1yslJaVADQurdWF27NhhSDKee+45wzAMIysry6hQoYIxb948wzAMIyYmxpgxY4ZhGIaRlpZm+Pr6GkOGDCnycQYOHGjUrl27wPN25DPmcrW+9Jh5v39hYWHGsWPH7NredNNNRvPmzY0LFy6Y23Jzc4127doZDRs2NLe1aNHC6NmzZ5H1KUxERITRokWLIts8+uijhiTjxx9/NAzDMEaNGmX4+/vbfVZkZGQYERERdr/vjv6+5tW9Xr16V/wdvtTlfpfyH7ew39H33nvP3LZ7925DkuHj42OsX7/e3L5kyZICxy7pZxCAi5heDsArBAYGavDgwXbbFi1apCZNmqhx48Y6ceKE+dO1a1dJKrCyb7du3exGZq699lqFhYXp559/lnRx5HnJkiXq1auX3WhqkyZNzJGOK8k/apuenq4TJ06oXbt2MgxDW7ZsKdD+0nNuO3bsaPZHurj4mZ+fnznyLUm+vr4uXwQo//Gli7UNDw/X//3f/9nVNjY2VhUrVixQ26ZNm9ot+hMVFaVGjRoVeC433HCDrr/+ert2edPZi5I3LbOwaeVF6devnypVqmTezutj/n7lf80uXLigEydO6IYbbpAkbd68ucAxC3vN/vjjD7OPeacsPPzww3btLn3NDMPQRx99pNtuu02GYdjVOT4+XmfOnCn08S+1dOlSRUVFKSoqSi1atNCiRYs0YMAAvfDCC8rJydHSpUvVq1cv1atXz7xPtWrV9Pe//11r1qy54pTXihUr2p1bGhAQoOuvv96uhpeTN5K9ZMmSAlPwi/L999/r2LFjevjhh+3OYe3Zs6caN26sL7/80uFjOeqrr76Sr6+vHn30Ubvtjz/+uAzD0Ndff33FY+R/L2VlZemPP/5QgwYNFBER4dBreakmTZqoSpUq5rnaP/zwg9LT081zkdu1a2euxp2SkqKcnBzzfG5HWfkZ06dPH0VFRZm3T548qRUrVqhv3746e/as+X7/448/FB8fr3379pmnD0RERGjHjh3at29fsR7z7NmzV/ycyNuf997v16+fsrKy9L///c9ss3TpUp0+fVr9+vWT5Nzv68CBAx2ayVNSFStWNBfPk6RGjRopIiJCTZo0sZvJkvfvvN9dV30GAeCcbgBe4qqrriowNW/fvn3asWOHGTjyfq6++mpJfy36k6ewacmVKlUyz1E+fvy4zp8/r4YNGxZo16hRI4f6eejQIQ0aNEiVK1c2z9Pu1KmTJBU4hzUoKMjuD9JL+yNdPEe0WrVqqlixolP9cYSfn59q1Khht23fvn06c+aMoqOjC9T3zz//LHZt856Ls7UNCwuTdPEP6uK4tF95ATx/v06ePKnHHntMMTExCg4OVlRUlOrWrSup4GvmyDF/+eUX+fj4mMfI06BBA7vbx48f1+nTp/XGG28UqHHeF0yX1rkwbdu2VXJyspYtW6Z169bpxIkTmj9/voKDg3X8+HGdO3eu0Bo3adJEubm5+vXXX4s8fo0aNQpMsb/0tb2cunXrKikpSW+99ZYiIyMVHx+vGTNmXPF87l9++UVS4e+Nxo0bm/td6ZdfflH16tULBLa81cwdeczz589rzJgx5jnhkZGRioqK0unTpx06h/1SNptN7dq1M8/dXrt2raKjo833Uv7Qnfff4oZuKz9jLv0d2L9/vwzD0D//+c8C7/mxY8dK+us9P2HCBJ0+fVpXX321mjdvrieffFI//vjjFR8zNDT0ip8TefvzXusWLVqocePGWrhwodlm4cKFioyMNL/Edeb39dLnb5XCfkfDw8NVs2bNAtsk2f0/zxWfQQA4pxuAlyhstCA3N1fNmzfXlClTCr3PpX9w+Pr6FtrOyLdIUknk5OTo//7v/3Ty5Ek9/fTTaty4sSpUqKDDhw9r0KBBBRYMu1x/SltgYGCBFXVzc3MVHR2tBQsWFHqfS78ssLq2DRo0kJ+fn7Zt21as+znSr759+2rdunV68skn1bJlS1WsWFG5ubnq0aNHoYu8ueq55h373nvvvew5+nnn6hYlMjKyyEtllVRJn+/kyZM1aNAgffrpp1q6dKkeffRRTZw4UevXry/wZU9Z98gjj2jOnDkaMWKE4uLiFB4eLpvNpv79+zt9Sa0OHTro888/17Zt28zzufO0a9fOPOd8zZo1ql69ut2MBne79HM7rwZPPPHEZWcP5X2hcOONN+qnn34y3zdvvfWWpk6dqpkzZ+qBBx647GM2adJEW7ZsUUZGhgIDAwtt8+OPP8rf39/uS8B+/frpX//6l06cOKHQ0FB99tln+tvf/iY/Pz+7vhfn97U0Rrmly/+OXul311WfQQAI3QC8WP369fXDDz/opptuKvAtvzOioqIUHBxc6HTGPXv2XPH+27Zt0969ezVv3jzdd9995vYrrbZblNq1a2v58uX6888/7UaiHOlPSdSvX1/Lli1T+/btXfaHY+3atZ2ubUhIiLp27aoVK1bo119/LfCFirNOnTql5cuXa/z48RozZoy5vbhTWvOrXbu2cnNzdeDAAbs/6vfv32/XLioqSqGhocrJybEsNEdFRSkkJKTQGu/evVs+Pj4uqeWVfv+aN2+u5s2ba/To0Vq3bp3at2+vmTNn6vnnny+0fe3atSVdfG/kjTTm2bNnj7nflWrXrq1ly5YVmJ68e/duuz5Jl3++H374oQYOHKjJkyeb2y5cuFCiqw3kv1732rVr7Ra2io2NVWBgoFatWqUNGzaY16YujtL8jMn7QsDf39+h93zlypU1ePBgDR48WH/++aduvPFGjRs3rsjQfeuttyolJUWLFi0q9JJbBw8e1OrVq9WtWze7z7Z+/fpp/Pjx+uijjxQTE6O0tDS7Kdul8fta2rzxOQHuwvRyAF6rb9++Onz4sN58880C+86fP6/09PRiHc/X11fx8fH65JNPdOjQIXP7rl27tGTJEofuL9mPABqGoenTpxerH/ndcsstys7O1uuvv25uy8nJ0SuvvOL0MR3Rt29f5eTk6LnnniuwLzs726kQccstt2j9+vX67rvvzG3Hjx+/7Gj6pcaOHSvDMDRgwAD9+eefBfZv2rSp0Mv+FKWw10ySpk2bVqzj5Jc3gvfaa6/Zbb/0NfP19VWfPn300UcfFXp98ePHjzvdh/yP0b17d3366ad2l606evSo3nvvPXXo0MGcul8Sedd1v/R9kZaWpuzsbLttzZs3l4+PT4HL+uXXpk0bRUdHa+bMmXbtvv76a+3atavQleBL6pZbblFOTo5effVVu+1Tp06VzWbTzTffbG6rUKFCob8Dvr6+Bd5Lr7zySoHLABZHmzZtFBQUpAULFujw4cN2I92BgYFq3bq1ZsyYofT09GJPLZdK9zMmOjpanTt31qxZs/T7778X2J//PX/pJfsqVqyoBg0aFPm+kS5edSE6OlpPPvlkgXUHLly4oMGDB8swDLsv2aSLI+TNmzfXwoULtXDhQlWrVk033nijub80fl9Lmzc+J8BdGOkG4LUGDBigDz74QMOGDdPKlSvVvn175eTkaPfu3frggw+0ZMkStWnTpljHHD9+vBYvXqyOHTvq4YcfVnZ2tl555RVdc801VzyfsHHjxqpfv76eeOIJHT58WGFhYfroo48cOvf1cm677Ta1b99ezzzzjA4ePKimTZvqf//7n1PnhxZHp06dNHToUE2cOFFbt25V9+7d5e/vr3379mnRokWaPn267rrrrmId86mnntI777yjHj166LHHHjMvGVa7dm2HztVs166dZsyYoYcffliNGzfWgAED1LBhQ509e1arVq3SZ599dtmR08sJCwvTjTfeqEmTJikrK0tXXXWVli5daneN6+KKjY1Vnz59NG3aNP3xxx/mJcP27t0ryX6U9D//+Y9Wrlyptm3basiQIWratKlOnjypzZs3a9myZTp58qTT/cjz/PPPKzk5WR06dNDDDz8sPz8/zZo1SxkZGXbX2y6J+vXrKyIiQjNnzlRoaKgqVKigtm3b6ocfflBiYqLuvvtuXX311crOztY777xj/rF/Of7+/nrhhRc0ePBgderUSX/729/MS4bVqVNHI0eOdEm/87vtttvUpUsXPfvsszp48KBatGihpUuX6tNPP9WIESPsFmGMjY3VsmXLNGXKFFWvXl1169ZV27Ztdeutt+qdd95ReHi4mjZtqpSUFC1btqxYl/C6VEBAgK677jqtXr1agYGBio2Ntdvfrl07c2TdmdBd2p8xM2bMUIcOHdS8eXMNGTJE9erV09GjR5WSkqLffvtNP/zwg6SLizN27txZsbGxqly5sr7//nt9+OGHSkxMLPL4VapU0YcffqiePXuqdevWeuCBB9S0aVOlpqZq7ty52r9/v6ZPn2735UWefv36acyYMQoKClJCQkKB025K4/e1tHnjcwLcgdANwGv5+Pjok08+0dSpUzV//nx9/PHHCgkJUb169fTYY4+ZC6oVx7XXXqslS5YoKSlJY8aMUY0aNTR+/Hj9/vvvVwyG/v7++vzzz81zVoOCgnTnnXcqMTFRLVq0cPo5fvbZZxoxYoTeffdd2Ww23X777Zo8ebJatWrl1DEdNXPmTMXGxmrWrFn6xz/+IT8/P9WpU0f33nuv2rdvX+zjVatWTStXrtQjjzyi//znP6pSpYqGDRum6tWrKyEhwaFjDB06VNddd50mT56s+fPn6/jx46pYsaJat26tOXPmFDqd9Eree+89PfLII5oxY4YMw1D37t319ddfq3r16sU+Vp758+eratWq+u9//6uPP/5Y3bp108KFC9WoUSO71bhjYmL03XffacKECfrf//6n1157TVWqVNE111xjd93vkrjmmmu0evVqjRo1ShMnTlRubq7atm2rd99994rX6HaUv7+/5s2bp1GjRmnYsGHKzs7WnDlz1KlTJ8XHx+vzzz/X4cOHFRISohYtWujrr782V4i/nEGDBikkJET/+c9/9PTTT6tChQq688479cILLygiIsIl/c4v73dtzJgxWrhwoebMmaM6deroxRdf1OOPP27XdsqUKXrwwQc1evRonT9/XgMHDlTbtm01ffp0+fr6asGCBbpw4YLat2+vZcuWOXz1g8vp0KGDVq9ebU4nz699+/aaPHmyQkNDnfqcKe3PmKZNm+r777/X+PHjNXfuXP3xxx+Kjo5Wq1at7EafH330UX322WdaunSpMjIyVLt2bT3//PN68sknr/gYHTt21I8//qh///vfWrRokX7//XeFh4erXbt2mj179mW/nOjXr59Gjx6tc+fOmauW51cav6+lzRufE+AONsNVq9gAAACnbd26Va1atdK7777r0GXSAABA2cA53QAAlLLz588X2DZt2jT5+PjYnScKAADKPqaXAwBQyiZNmqRNmzapS5cu8vPz09dff62vv/5aDz74oMtWXgcAAJ6B6eUAAJSy5ORkjR8/Xjt37tSff/6pWrVqacCAAXr22WfN6/4CAADvQOgGAAAAAMAinNMNAAAAAIBFCN0AAAAAAFiEE8c8WG5uro4cOaLQ0FDZbDZ3dwcAAAAA8P8ZhqGzZ8+qevXq8vG5/Hg2oduDHTlyhFVsAQAAAMCD/frrr6pRo8Zl9xO6PVhoaKikiy9iWFiYsrKydOLECUVGRsrf39/NvfM+1Nd61Nh61Nha1Nd61Nha1Nd61Nha1Nd61NhxaWlpqlmzppnbLofQ7cHyppSHhYWZoTsjI0NhYWH8AliA+lqPGluPGluL+lqPGluL+lqPGluL+lqPGhfflU4FZiE1AAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugG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AAAAAIsQugEAAAAAsAihu5R9++23uu2221S9enXZbDZ98skndvuPHj2qQYMGqXr16goJCVGPHj20b9++AsdJSUlR165dVaFCBYWFhenGG2/U+fPnzf179+7VHXfcocjISIWFhalDhw5auXKl1U/P7Upa34MHD8pmsxX6s2jRIknSH3/8oR49eqh69eoKDAxUzZo1lZiYqLS0tNJ8qm5TGjWWpI0bN+qmm25SRESEKlWqpPj4eP3www+l9TTdxhWfEampqRowYICqVq2qChUqqHXr1vroo4/s2tx+++2qVauWgoKCVK1aNQ0YMEBHjhyx+ul5hNKqcXn9HJZcU+OffvpJd955p6KiohQWFqa+ffvq6NGjdm3K6/u4tOpbXt/DEydO1HXXXafQ0FBFR0erV69e2rNnj12bCxcuaPjw4apSpYoqVqyoPn36FKjfoUOH1LNnT4WEhCg6OlpPPvmksrOzzf1r1qxR+/btVaVKFQUHB6tx48aaOnVqqTxHdyutGkvSggUL1KJFC4WEhKhatWq6//779ccff1j+HN3JVfV99NFHFRsbq8DAQLVs2bLA4+zZs0ddunRRTEyMgoKCVK9ePY0ePVpZWVlWPr0yidBdytLT09WiRQvNmDGjwD7DMNSrVy/9/PPP+vTTT7VlyxbVrl1b3bp1U3p6utkuJSVFPXr0UPfu3fXdd99p48aNSkxMlI/PXy/nrbfequzsbK1YsUKbNm1SixYtdOuttyo1NbVUnqe7lLS+NWvW1O+//273M378eFWsWFE333yzJMnHx0d33HGHPvvsM+3du1dz587VsmXLNGzYsFJ9ru5SGjX+888/1aNHD9WqVUsbNmzQmjVrFBoaqvj4eK//IHfFZ8R9992nPXv26LPPPtO2bdvUu3dv9e3bV1u2bDHbdOnSRR988IH27Nmjjz76SD/99JPuuuuuUnmO7lZaNS6vn8NSyWucnp6u7t27y2azacWKFVq7dq0yMzN12223KTc31zxWeX0fl1Z9y+t7+JtvvtHw4cO1fv16JScnKysrS927d7f7DBg5cqQ+//xzLVq0SN98842OHDmi3r17m/tzcnLUs2dPZWZmat26dZo3b57mzp2rMWPGmG0qVKigxMREffvtt9q1a5dGjx6t0aNH64033ijV5+sOpVXjtWvX6r777lNCQoJ27NihRYsW6bvvvtOQ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5x0jODjYyM7OdrbbXomRbg8VHh6uqKgo7du3T99//73uuOMOSVKdOnVUvXr1Asv+7927V7Vr15YknTt3TpIKjAb4+PjYrUpanl2uvvm9/fbbuv322xUVFXXF4+XVNe9cOpSsxufOnZOPj49sNpu5Le827+GLLlffy/3++/r6Flk73sMFlaTGfA47xpHPicjISEVERGjFihU6duyYbr/99ssej/exvZLUtzy/hw3DUGJioj7++GOtWLFCdevWtdsfGxsrf39/LV++3Ny2Z88eHTp0SHFxcZIunku8bds2HTt2zGyTnJyssLAwNW3a9LKPnZubWy7ev6VV47y/J/Lz9fU1++CtXFFfZ+Xm5iorK8vrPyeKzb2Zv/w5e/assWXLFmPLli2GJGPKlCnGli1bjF9++cUwDMP44IMPjJUrVxo//fST8cknnxi1a9c2evfubXeMqVOnGmFhYcaiRYuMffv2GaNHjzaCgoKM/fv3G4Zx8VvrKlWqGL179za2bt1q7Nmzx3jiiScMf39/Y+vWraX+nEuTK+prGIaxb98+w2azGV9//XWBfV9++aUxe/ZsY9u2bcaBAweML774wmjSpInRvn17y5+fJyiNGu/atcsIDAw0HnroIWPnzp3G9u3bjXvvvdcIDw/3+m+mS1rfzMxMo0GDBkbHjh2NDRs2GPv37zdeeuklw2azGV9++aVhGIaxfv1645VXXjG2bNliHDx40Fi+fLnRrl07o379+saFCxfc8rxLU2nUuDx/DhuGaz4nZs+ebaSkpBj79+833nnnHaNy5cpGUlKSub88v49Lo77l+T380EMPGeHh4caqVauM33//3fw5d+6c2WbYsGFGrVq1jBUrVhjff/+9ERcXZ8TFxZn7s7OzjWbNmhndu3c3tm7daixevNiIiooyRo0aZbZ59dVXjc8++8zYu3evsXfvXuOtt94yQkNDjWeffbZUn687lFaN58yZY/j5+Rmvvfaa8dNPPxlr1qwx2rRpY1x//fWl+nxLmyvqaxgX/1bbsmWLMXToUOPqq682P3fyVod/9913jYULFxo7d+40fvrpJ2PhwoVG9erVjXvuuadUn29ZQOguZStXrjQkFfgZOHCgYRh/XXrK39/fqFWrljF69OhCLy0xceJEo0aNGkZISIgRFxdnrF692m7/xo0bje7duxuVK1c2QkNDjRtuuMH46quvSuMpupWr6jtq1CijZs2adtOb86xYscKIi4szwsPDjaCgIKNhw4bG008/XWCKjrcqjRobhmEsXbrUaN++vREeHm5UqlTJ6Nq1a6GXsfA2rqjv3r17jd69exvR0dFGSEiIce2119pd3urHH380unTpYlSuXNkIDAw06tSpYwwbNsz47bffSvOpuk1p1Ngwyu/nsGG4psZPP/20ERMTY/j7+xsNGzY0Jk+ebOTm5pr7y/P7uDTqaxjl9z1cWG0lGXPmzDHbnD9/3nj44YeNSpUqGSEhIcadd95p/P7773bHOXjwoHHzzTcbwcHBRmRkpPH4448bWVlZ5v6XX37ZuOaaa4yQkBAjLCzMaNWqlfHaa69d9v+L3qS0amwYF+vctGlTIzg42KhWrZpxzz33eP3nhKvq26lTp0KPc+DAAcMwDOP99983WrdubVSsWNGoUKGC0bRpU+Pf//63cf78+VJ8tmWDzTC8eG4FAAAAAABuxDndAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAKBYDMNQt27dFB8fX2Dfa6+9poiICP32229u6BkAAJ6H0A0AAIrFZrNpzpw52rBhg2bNmmVuP3DggJ566im98sorqlGjhksfMysry6XHAwCgtBC6AQBAsdWsWVPTp0/XE088oQMHDsgwDCUkJKh79+5q1aqVbr75ZlWsWFExMTEaMGCATpw4Yd538eLF6tChgyIiIlSlShXdeuut+umnn8z9Bw8elM1m08KFC9WpUycFBQVpwYIF7niaAACUmM0wDMPdnQAAAGVTr169dObMGfXu3VvPPfecduzYoWuuuUYPPPCA7rvvPp0/f15PP/20srOztWLFCknSRx99JJvNpmuvvVZ//vmnxowZo4MHD2rr1q3y8fHRwYMHVbduXdWpU0eTJ09Wq1atFBQUpGrVqrn52QIAUHyEbgAA4LRjx47pmmuu0cmTJ/XRRx9p+/btWr16tZYsWWK2+e2331SzZk3t2bNHV199dYFjnDhxQlFRUdq2bZuaNWtmhu5p06bpscceK82nAwCAyzG9HAAAOC06OlpDhw5VkyZN1KtXL/3www9auXKlKlasaP40btxYkswp5Pv27dPf/vY31atXT2FhYapTp44k6dChQ3bHbtOmTak+FwAArODn7g4AAICyzc/PT35+F/+k+PPPP3XbbbfphRdeKNAub3r4bbfdptq1a+vNN99U9erVlZubq2bNmikzM9OufYUKFazvPAAAFiN0AwAAl2ndurU++ugj1alTxwzi+f3xxx/as2eP3nzzTXXs2FGStGbNmtLuJgAApYbp5QAAwGWGDx+ukydP6m9/+5s2btyon376SUuWLNHgwYOVk5OjSpUqqUqVKnrjjTe0f/9+rVixQklJSe7uNgAAliF0AwAAl6levbrWrl2rnJwcde/eXc2bN9eIESMUEREhHx8f+fj46P3339emTZvUrFkzjRw5Ui+++KK7uw0AgGVYvRwAAAAAAIsw0g0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFjk/wGbVXgtIx6fzgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████| 7/7 [00:03<00:00,  1.86it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Execution Output:\n",
      "Wildfires have become more frequent over the analyzed period.\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "# Step 3: Code execution\n",
    "\n",
    "from tqdm import tqdm\n",
    "\n",
    "local_environment = {'df': df_interest}  # Assume df is your DataFrame loaded with the data\n",
    "for i in tqdm(range(len(tmp))):\n",
    "    x = tmp[i]\n",
    "    execution_result = run_code_with_custom_globals(x, local_environment)\n",
    "    # Output the results\n",
    "    print(\"Execution Output:\")\n",
    "    print(execution_result)\n",
    "    if('Error' in execution_result):\n",
    "        print(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "17d4bf95",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create Label Encoder object\n",
    "df1['DISCOVERY_DATE'] = pd.to_datetime(df['DISCOVERY_DATE'], format='%m/%d/%Y')\n",
    "df1['DISCOVERY_DATE'] = df['DISCOVERY_DATE'].dt.strftime('%m%d%Y')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4dccd63f",
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys\n",
    "import io\n",
    "\n",
    "def execute_generated_code(generated_code):\n",
    "    \"\"\"\n",
    "    Executes the provided Python code and captures the output.\n",
    "\n",
    "    Args:\n",
    "        generated_code (str): Python code to be executed.\n",
    "\n",
    "    Returns:\n",
    "        str: Output from executing the code.\n",
    "    \"\"\"\n",
    "    # Backup the current stdout\n",
    "    old_stdout = sys.stdout\n",
    "    redirected_output = sys.stdout = io.StringIO()\n",
    "\n",
    "    try:\n",
    "        # Execute the generated code\n",
    "        exec(generated_code, globals())\n",
    "    except Exception as e:\n",
    "        # Print any errors encountered during execution\n",
    "        print(f\"Error during execution: {e}\")\n",
    "    finally:\n",
    "        # Restore the original stdout\n",
    "        sys.stdout = old_stdout\n",
    "\n",
    "    # Get the captured output\n",
    "    output = redirected_output.getvalue()\n",
    "    redirected_output.close()\n",
    "    \n",
    "    return output\n",
    "\n",
    "# Example usage with generated code\n",
    "generated_code = \"\"\"\n",
    "print(col_txt)\n",
    "\"\"\"\n",
    "# Execute the generated code and print outputs\n",
    "output = execute_generated_code(generated_code)\n",
    "print(output)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2f6326e2",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "\n",
    "columns = str(df.columns)\n",
    "memory = [columns]\n",
    "prompt = '''<s> [INST]You are an agent capable of using a variety of TOOLS to answer a data analytics question.\n",
    "Always use MEMORY to help select the TOOLS to be used. The name of the SQLlite table is fires.\n",
    " \n",
    "MEMORY\n",
    "The column names are \n",
    "'''\n",
    "prompt+= columns\n",
    "prompt+= '''\n",
    " \n",
    "TOOLS\n",
    "- Generate_Final_Answer: Use if answer to User's question can be given with MEMORY and data we have. Use this after thorough data analysis\n",
    "- Query_Database: Write only one SQL Query to query the Database. This can only execute one query at a time\n",
    " \n",
    "ANSWER FORMAT\n",
    "{\n",
    "    \"tool_name\": \"\"\"\n",
    "    \"command\": \"\"\"\n",
    "}\n",
    "[/INST]\n",
    "User:  Have wildfires become more or less frequent over time?\n",
    "Assistant: {\n",
    " \"tool_name\":\n",
    " \"command\":\n",
    "}\n",
    "''' \n",
    "messages=[\n",
    "          {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n",
    "          {\"role\": \"user\", \"content\": prompt}\n",
    "]\n",
    "# Execute the generated SQL query\n",
    "sql_query = generate_sql_query(messages)\n",
    "print(sql_query)\n",
    "print(json.loads(sql_query))\n",
    "json_query = json.loads(sql_query)\n",
    "\n",
    "data = run_tool(json_query)\n",
    "\n",
    "prompt+= sql_query+ \"\\n ''response:''\" + str(data) + \"}\\n\"\n",
    "\n",
    "messages=[\n",
    "          {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n",
    "          {\"role\": \"user\", \"content\": prompt}\n",
    "]\n",
    "# messages.append({\"role\":\"system\", \"content\": \"SQL data extracted\"})\n",
    "# messages.append({\"role\":\"user\", \"content\": \"Move to the next step as specified in the prompt\"})\n",
    "generate_sql_query(messages)\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1f82b15d",
   "metadata": {},
   "outputs": [],
   "source": [
    "import re\n",
    "\n",
    "def extract_sentences_with_numbers(text):\n",
    "    \"\"\"\n",
    "    Extracts sentences from the provided text that contain numbers, ensuring that list items are captured as full sentences.\n",
    "    \n",
    "    Args:\n",
    "        text (str): The input text from which sentences will be extracted.\n",
    "    \n",
    "    Returns:\n",
    "        list: A list of complete sentences containing numbers.\n",
    "    \"\"\"\n",
    "    # Combine multiline list items into single lines and split into sentences\n",
    "    text = re.sub(r'(\\d+)\\.\\s+', r'\\1. ', text)  # Remove newline after numbers for list items\n",
    "    sentences = re.split(r'[.!?]+', text)\n",
    "    # Filter sentences that contain any digit and are not just numbers\n",
    "    sentences_with_numbers = [sentence.strip() for sentence in sentences if re.search(r'\\d', sentence) and not sentence.strip().isdigit()]\n",
    "\n",
    "    return sentences_with_numbers\n",
    "\n",
    "# Provided plan steps (for demonstration)\n",
    "plan_steps = \"\"\"\n",
    "To predict the cause of a wildfire based on its size, location, and date, follow these steps:\n",
    "\n",
    "1. Extract the necessary columns from the 'fires' table: FIRE_SIZE, LATITUDE, LONGITUDE, DISCOVERY_DATE, STAT_CAUSE_DESCR.\n",
    "\n",
    "2. Remove any duplicate rows in the extracted data.\n",
    "\n",
    "3. Convert the DISCOVERY_DATE column to the required datetime format.\n",
    "\n",
    "4. Implement the XGBClassifier model to predict the cause of the fire. You can use the following steps:\n",
    "    - Encode the categorical variable STAT_CAUSE_DESCR using Label Encoder.\n",
    "    - Split the data into training and testing sets.\n",
    "    - Fit the XGBClassifier model on the training data.\n",
    "    - Make predictions on the testing data.\n",
    "    \n",
    "5. Generate a ClassificationReport to evaluate the model's performance.\n",
    "\n",
    "6. If needed, you can also use RandomForestClassifier or other classification models to compare the results.\n",
    "\n",
    "7. The inverse transform can be used to decode the encoded predicted values back to their original form.\n",
    "\n",
    "By following these steps, the code generator can execute the necessary operations to predict the cause of a wildfire based on the provided data.\n",
    "\"\"\"\n",
    "\n",
    "# Extract sentences with numbers\n",
    "sentences_with_numbers = extract_sentences_with_numbers(plan_steps)\n",
    "print(\"Sentences containing numbers:\")\n",
    "for sentence in sentences_with_numbers:\n",
    "    print(sentence)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5be6840a",
   "metadata": {},
   "outputs": [],
   "source": [
    "print(plan_steps)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "76aec70d",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "# Provided text containing steps (summarized for demonstration)\n",
    "text_with_steps = \"\"\"\n",
    "To predict the cause of a wildfire based on size, location, and date, you can follow these steps:\n",
    "\n",
    "1. Join the 'fires' table with any additional tables containing relevant information on statistical cause codes and descriptions.\n",
    "2. Filter the dataset to include only the following columns: FIRE_SIZE, LATITUDE, LONGITUDE, DISCOVERY_DATE, STAT_CAUSE_CODE, and STAT_CAUSE_DESCR.\n",
    "3. Handle missing or null values in the dataset if necessary.\n",
    "4. Convert the 'DISCOVERY_DATE' column to a format suitable for analysis (e.g., datetime).\n",
    "5. Use a suitable classification model like RandomForestClassifier or XGBClassifier for prediction.\n",
    "6. Encode any categorical variables (if needed) using LabelEncoder.\n",
    "7. Split the dataset into training and testing sets for model training.\n",
    "8. Train the classification model on the training data.\n",
    "9. Test the model on the testing data to evaluate its performance.\n",
    "10. Generate a ClassificationReport to assess the accuracy, precision, recall, and F1 score of the model.\n",
    "11. Use the model to make predictions on new data points to predict the cause of wildfires based on size, location, and date.\n",
    "\n",
    "Remember to handle any discrepancies in data types, preprocess the data if necessary, and ensure that the model is trained and tested effectively to provide accurate predictions.\n",
    "\"\"\"\n",
    "\n",
    "# Extract numbered list items\n",
    "numbered_list_items = extract_numbered_list_items(plan_steps)\n",
    "print(\"Numbered List Items:\")\n",
    "for item in numbered_list_items:\n",
    "    print(item)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ab136863",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
